我怎么能访问复选框控件放置在WPF数据网格columnHeaderStyle作为ContentTemplate
本文关键字:数据网 数据 网格 columnHeaderStyle ContentTemplate 作为 WPF 访问 怎么能 复选框 控件 | 更新日期: 2023-09-27 18:10:05
我在自动生成的WPF数据网格ColumnHeaderStyle中放置了一个复选框控件,如下所示:
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<CheckBox x:Name="HeaderCheckBox" Content="{Binding}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
我如何在后面的代码访问复选框?在datagrid中会有多个列,我如何才能发现(列方向)复选框是否被选中?
请建议。
只需添加事件Checked
和Unchecked
,一旦选中它,事件将被引发
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<CheckBox x:Name="HeaderCheckBox" Content="{Binding}"
Checked="CheckBoxChanged" Unchecked="CheckBoxChanged"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
实现Checked
和Unchecked
事件
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<CheckBox x:Name="HeaderCheckBox" Content="{Binding}"
Checked="CheckBoxChanged" Unchecked="CheckBoxChanged"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
private void CheckBoxChanged(object sender, RoutedEventArgs e)
{
// add what you want
}