如何在WPF数据网格中一起选中所有复选框

时间:2014-07-30 17:15:41

标签: c# wpf wpfdatagrid

我的wpf数据网格是,

<dg:DataGrid.Columns >
    <dg:DataGridTemplateColumn>
        <dg:DataGridTemplateColumn.Header>
            <CheckBox Content=" Slect All" Click="CheckBox_Click" />
        </dg:DataGridTemplateColumn.Header>
        <dg:DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <CheckBox Name="chkSelectAll"   Margin="45 2 0 0" Click="chkSelectAll_Click" />
            </DataTemplate>
        </dg:DataGridTemplateColumn.CellTemplate>
    </dg:DataGridTemplateColumn>
    <dg:DataGridTemplateColumn Header="Edit Row"  >
        <dg:DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <Button Content="Edit" Click="Button_Click" />
            </DataTemplate>
        </dg:DataGridTemplateColumn.CellTemplate>
    </dg:DataGridTemplateColumn>
    <dg:DataGridTemplateColumn Header="Delete Row">
        <dg:DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <Button Content="Delete" Click="DeleteButton_Click" />
            </DataTemplate>
        </dg:DataGridTemplateColumn.CellTemplate>
    </dg:DataGridTemplateColumn>
</dg:DataGrid.Columns>

单击此选择全部复选框我需要将所有复选框选中/取消选中。 任何人都可以帮助我完成它。还有一件事,Dynamicaly我将数据填充到datgrid。

- 感谢

1 个答案:

答案 0 :(得分:8)

使用 IsChecked 将checkBox ElementName 属性绑定到标题复选框:

<dg:DataGridTemplateColumn>
    <dg:DataGridTemplateColumn.Header>
        <CheckBox Content=" Slect All" x:Name="headerCheckBox" />
    </dg:DataGridTemplateColumn.Header>
    <dg:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <CheckBox Name="chkSelectAll" Margin="45 2 0 0"
                      IsChecked="{Binding IsChecked, ElementName=headerCheckBox, 
                                          Mode=OneWay}" />
        </DataTemplate>
    </dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>