【发布时间】:2016-06-13 09:12:54
【问题描述】:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="5" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<DataGrid x:Name="DtgEntity" Grid.Row="0" ItemsSource="{Binding Entities, Mode=TwoWay}" AutoGenerateColumns="False" ></DataGrid>
<GroupBox Header="Selected Entities" Grid.Row="2" >
<DataGrid x:Name="DtgSelectedEntity" ItemsSource="{Binding SelectedEntities, Mode=TwoWay}" ></DataGrid>
</GroupBox>
</Grid>
这是我的网格控制代码。列名、列数根据对象类型而改变。所以这里我不能指定网格列标签。但网格的第一列总是复选框。
如何将第一列标题更改为复选框。我想为网格的第一列实现全选选项。
【问题讨论】:
-
实现第一列是复选框列,实现全选非常容易。但每个案例都有自己的方式。如果您能解释得更清楚,请包含您的 DataGrid 的完整 XAML 代码,我可以帮助您。
-
我添加了完整的 XAML 代码。数据网格列数不固定。列数和名称会根据用户选择而更改。但第一列必须是复选框。选择一个项目后,它移动到第二个网格。单选工作正常。但我需要实现全选选项。
-
您的 Datagrid 绑定到一个集合包含多种类型的对象或到多个集合,每个集合包含一种类型的对象?您绑定到第一列的属性是否具有相同的名称和类型?
-
公共 ObservableCollection
实体 -
好的。如果我要求你揭开更多,似乎很微妙。因此,只需使用 DataGridCheckBoxColumn,更改标题模板,绑定到 checkAll_Property。轻松!