[英]WPF DataGrid CheckBox Select All And Get Selected Rows
我在WPF中有一个Datagrid。 我添加了一个复选框列,如下所示:
<DataGridTemplateColumn>
<DataGridTemplateColumn.Header>
<CheckBox Name="CheckALL" IsChecked="{Binding IsCheckedAll, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Name="chkSelect" IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
现在,单击行中的复选框会触发属性更改事件,但是当单击标题复选框时,我也想选中所有复选框。
单击“标题”复选框后,当我编写如下代码时,将选中所有复选框:
<DataTemplate>
<CheckBox Name="chkSelect" IsChecked="{Binding IsChecked, Mode=OneWay, ElementName=CheckALL, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
但是同时要获得两个功能。 请帮我
尝试这样的事情:
<Checkbox Name="CheckALL">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding CheckColumns}" CommandParameter="{Binding ElementName=hereNameOfGrid}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Checkbox>
现在您需要在您的代码中输入以下命令:
public void CheckColumns(object _grid)
{
GridView tempGrid = _grid as GridView;
foreach (var item in tempGrid.Columns)
{
item.IsChecked = false;
}
}
这样的事情应该起作用。 这不是工作代码,仅是解决方案的提示!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.