我正在使用带有WPF和XAML的.Net 3.5。 我有一个datagrid,第一列是DataGridCheckBoxColumn。 这是一个窗口弹出窗口。 在构造函数中,我有时想初始化要选择的所有行,而其他情况下没有要选择的行。
使用数据绑定,我可以初始化行上的复选框以选中或不选中。
但是,当检查所有行时,我无法检查标题复选框以及行中的所有检查。我怎样才能进入复选框?
<toolkit:DataGridCheckBoxColumn CellStyle="{StaticResource SingleClickEditing}" Visibility="{Binding exists}" Binding="{Binding Path=toTransfer, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False">
<toolkit:DataGridCheckBoxColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Checked="CheckBox_Checked" Unchecked="CheckBox_Checked"/>
</StackPanel>
</DataTemplate>
</toolkit:DataGridCheckBoxColumn.HeaderTemplate>
</toolkit:DataGridCheckBoxColumn>
我正在做类似的事情:
public MyPopupWindow()
{
InitializeComponent();
if(checkMode.Equals("all"))
{
// Check all the items
foreach (var item in bindList)
{
item.toTransfer = true;
}
// How to check the header checkbox?
}
答案 0 :(得分:1)
我不确定这是否是最好的方法,但你可以做到
<CheckBox Checked="CheckBox_Checked" Unchecked="CheckBox_Checked" Loaded="CheckBox_Loaded"/>
和
void CheckBox_Loaded(object sender, RoutedEventArgs e)
{
CheckBox checkBox = sender as CheckBox;
if(checkMode.Equals("all"))
{
checkBox.IsChecked = true;
}
}