WPF DataGrid 是一個用于顯示和編輯表格數據的強大控件。它提供了豐富的功能,包括排序、篩選、分組、編輯、選擇等,使你能夠以類似電子表格的方式呈現和操作數據。
DataGrid 的布局主要由以下部分組成:
-
列定義 (Columns): DataGrid 列定義了要顯示的數據列及其屬性綁定。可以使用不同的列類型,如文本列 (
DataGridTextColumn
)、復選框列 (DataGridCheckBoxColumn
)、按鈕列 (DataGridButtonColumn
) 等。 -
數據行 (Rows): 每一行代表一個數據項,它們根據列定義進行顯示和綁定。可以選擇、編輯和操作數據行。
-
列標題 (Column Headers): 列標題顯示在每一列的頂部,用于描述該列的內容。可以自定義列標題,也可以使用默認的屬性名稱。
-
行頭 (Row Headers): 行頭顯示在每一行的左側,用于標識和選擇行。可以選擇性地顯示行頭。
-
選擇行 (Selected Rows): 可以通過單擊行或使用鍵盤導航來選擇一行或多行。
下面是一個示例,演示了如何使用 DataGrid 控件以及常見的布局:
<DataGrid ItemsSource="{Binding Customers}" AutoGenerateColumns="False"><!-- 列定義 --><DataGrid.Columns><!-- 文本列 --><DataGridTextColumn Header="ID" Binding="{Binding ID}" Width="Auto"/><DataGridTextColumn Header="姓名" Binding="{Binding Name}" Width="*"/><DataGridTextColumn Header="年齡" Binding="{Binding Age}" Width="Auto"/><!-- 按鈕列 --><DataGridTemplateColumn Header="操作" Width="Auto"><DataGridTemplateColumn.CellTemplate><DataTemplate><Button Content="編輯" Command="{Binding EditCommand}" /></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns>
</DataGrid>
在上述示例中,ItemsSource
屬性綁定到 ViewModel 中的 Customers
集合,用于顯示數據。AutoGenerateColumns
屬性設置為 False
,禁用自動生成列功能。
列定義部分包含了三個列:ID、姓名和年齡文本列,以及一個包含編輯按鈕的按鈕列。每列都有一個自定義的標題和綁定到相應數據屬性的 Binding
。
這個示例中的 DataGrid 演示了一個簡單的表格布局,其中包含了常見的文本列和按鈕列。你可以根據需求自定義列定義,使用不同的列類型和綁定方式。
注意:上述示例中的綁定部分需要在 ViewModel 中實現相應的屬性和命令。