我正在使用WPF(MVVM)DataGrid女巫看起来像这样:
<DataGrid x:Name="DataGrid1"
ItemsSource="{Binding DataTable, UpdateSourceTrigger=PropertyChanged}"
AutoGenerateColumns="False"
SelectedItem="{Binding SelectedRow, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Active" CellTemplate="{StaticResource ActiveCheckBoxTemp}" />
<DataGridTextColumn Binding="{Binding Path=ID}" Header="ID" MinWidth="100" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding Path=Name}" Header="Name" MinWidth="100" />
</DataGrid.Columns>
使用模板:
<DataTemplate x:Key="ActiveCheckBoxTemp">
<Grid>
<CheckBox IsChecked="{Binding Path=Active, Mode=TwoWay}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
这给了我一个DataGrid,前面有一个CheckBoxs颜色。 现在我正在寻找一种方法来选择多个行并单击一个CheckBox,然后检查所有选定行中的CheckBoxes。
有人对我有任何想法或例子吗?
答案 0 :(得分:0)
我最近使用DevExpress WPF GridControl来解决这个问题。对于任何一个网格,似乎都没有开箱即用的方法。
我在列上使用PreviewKeyDown事件来检测按空格键。然后,我将迭代所有选定的单元格并将其值设置为聚焦单元格值。它给出了预期的结果,我猜你可以使用PreviewMouseUp事件做类似的事情。
如果您需要更多信息,请与我们联系。