4 つの列を含むデータ テーブルを作成しました。3 つは文字列で、もう 1 つはブール型です。wpfでdatatable(xmldatadocument)をdatagridviewにマッピングしました。その結果、データ グリッドのテキスト列とチェックボックス列が表示されます。そして、チェックボックスの列ヘッダーにチェックボックスのヘッダー テンプレートを追加しました。ヘッダーのチェックボックスがオフの場合、列のすべてのチェックボックスをオフにすることができます。ヘッダーのチェックボックスがチェックされている場合、列のすべてのチェックボックスをチェックすることもできます。 . スクリーンショット、XAML、およびコードを以下に追加しました。
PS: WPF データグリッドを使用します。
<dg:DataGrid.Columns>
<dg:DataGridCheckBoxColumn Binding="{Binding Check}" Width="50" >
<dg:DataGridCheckBoxColumn.HeaderTemplate>
<DataTemplate x:Name="dtAllChkBx">
<CheckBox Name="cbxAll" Content="{x:Static properties:Resources.lblAll}" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked"></CheckBox>
</DataTemplate>
</dg:DataGridCheckBoxColumn.HeaderTemplate>
public static ObservableCollection<Lst> list = new ObservableCollection<Lst>();
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
for (int i = 0; i < list.Count; i++)
{
list[i].Check = true;
}
}
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
for (int i = 0; i < list.Count; i++)
{
list[i].Check = false;
}
}
public class Lst : ObservableCollection<Lst>
{
public bool Check { get; set; }
}