2011-09-12 4 views
7

Tôi đã tự hỏi nếu có một cách (bất kỳ thành phần/điều khiển) cho phép tôi vẽ một bảng kiểu Microsoft Word đơn giản trong cửa sổ ứng dụng của tôi. Một cái gì đó như thế này:Tạo một Bảng đơn giản trong WPF?

Sample Table

Bất kỳ ý tưởng nào?

Trả lời

12

Nó phụ thuộc vào cách bạn muốn sử dụng nó. Hoặc sử dụng một trong những ItemsControl (như DataGrid, ListView vv), làm điều đó trực tiếp với một bảng điều khiển Grid (theo khuyến cáo của các câu trả lời khác) hoặc sử dụng một FlowDocument

FlowDocument phép bạn chỉ định Bàn, dòng và cột. Bạn cũng có thể chọn một vài tế bào cùng một lúc cho Copy/Paste, vv

enter image description here

<FlowDocumentReader UseLayoutRounding="True" SnapsToDevicePixels="True"> 
    <FlowDocumentReader.Resources> 
     <Style TargetType="TableCell"> 
      <Setter Property="TextAlignment" Value="Center"/> 
     </Style> 
    </FlowDocumentReader.Resources> 
    <FlowDocument> 
     <Table CellSpacing="0"> 
      <Table.Columns> 
       <TableColumn/> 
       <TableColumn/> 
       <TableColumn/> 
       <TableColumn/> 
      </Table.Columns> 
      <TableRowGroup> 
       <TableRow> 
        <TableCell BorderBrush="Black" BorderThickness="1"> 
         <Paragraph FontWeight="Bold">Category</Paragraph> 
        </TableCell> 
        <TableCell BorderBrush="Black" BorderThickness="0,1,1,1"> 
         <Paragraph FontWeight="Bold">A</Paragraph> 
        </TableCell> 
        <TableCell BorderBrush="Black" BorderThickness="0,1,1,1"> 
         <Paragraph FontWeight="Bold">B</Paragraph> 
        </TableCell> 
        <TableCell BorderBrush="Black" BorderThickness="0,1,1,1"> 
         <Paragraph FontWeight="Bold">C</Paragraph> 
        </TableCell> 
       </TableRow> 
       <TableRow> 
        <TableCell BorderBrush="Black" BorderThickness="1,0,1,1"> 
         <Paragraph FontWeight="Bold">Subscription</Paragraph> 
        </TableCell> 
        <TableCell BorderBrush="Black" BorderThickness="0,0,1,1"> 
         <Paragraph>Monthly</Paragraph> 
        </TableCell> 
        <TableCell BorderBrush="Black" BorderThickness="0,0,1,1"> 
         <Paragraph>Yearly</Paragraph> 
        </TableCell> 
        <TableCell BorderBrush="Black" BorderThickness="0,0,1,1"> 
         <Paragraph>Monthly</Paragraph> 
        </TableCell> 
       </TableRow> 
       <TableRow> 
        <TableCell BorderBrush="Black" BorderThickness="1,0,1,1" TextAlignment="Center"> 
         <Paragraph FontWeight="Bold">Price</Paragraph> 
        </TableCell> 
        <TableCell BorderBrush="Black" BorderThickness="0,0,1,1"> 
         <Paragraph>$120.00</Paragraph> 
        </TableCell> 
        <TableCell BorderBrush="Black" BorderThickness="0,0,1,1"> 
         <Paragraph>$1000.00</Paragraph> 
        </TableCell> 
        <TableCell BorderBrush="Black" BorderThickness="0,0,1,1"> 
         <Paragraph>$130.00</Paragraph> 
        </TableCell> 
       </TableRow> 
      </TableRowGroup> 
     </Table> 
    </FlowDocument> 
</FlowDocumentReader> 

Trang này là đầy đủ các ví dụ hữu ích về vấn đề này: FlowDocument with Table

+0

1 tôi đã không biết của 'FlowDocument' tôi đã hoàn thành một ứng dụng WPF cỡ trung bình khoảng 18 tháng trước và đã không làm gì với nó kể từ đó. My Xaml-Fu đã phát triển khá mạnh mẽ: ( –

+0

Vì một lý do kỳ lạ nào đó, khi tôi tạo một bảng, tôi nhận được một trường tìm kiếm và các khung nhìn khác nhau cho bảng của mình. Làm thế nào tôi có thể loại bỏ tất cả thông tin đó và chỉ bao gồm bảng mà không có thêm ưa thích Tính năng, đặc điểm? –