您好我有一个DataGridCheckBoxColumn,一旦用户检查或取消选中DataGridCheckBoxColumn,我希望它对底层绑定对象进行notifypropertychanged。
目前,当用户在选中或取消选中DataGridCheckBoxColumn后点击其他行时,似乎只会执行此操作。
XAML:
<DataGridCheckBoxColumn x:Name="isVisibleColumn" Binding="{Binding Path=isVisible}" Header="is Visible" Width="SizeToHeader" />
代码背后:
public bool isVisible
{
get
{
if (this.Visibility1 == Visibility.Visible)
{
return true;
}
else
{
return false;
}
}
set
{
if (value == true)
{
this.Visibility1 = Visibility.Visible;
}
else
{
this.Visibility1 = Visibility.Collapsed;
}
this.NotifyPropertyChanged("isVisible");
}
}
答案 0 :(得分:3)
将绑定的UpdateSourceTrigger更改为propertychanged,而不是保留默认值lostfocus
您必须使用列模板而不是复选框列
来指定此项<dg:DataGridTemplateColumn>
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=isVisible,UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>