<DataTemplate x:Key="CheckBoxDataTemplate">
<Grid>
<CheckBox Click="CheckBox_Checked"
IsChecked="{Binding IsSelect , Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
</CheckBox>
</Grid>
</DataTemplate>
使用了上面的数据模板,单击的时候会触发CheckBox_Checked事件,CheckBox_Checked事件会改变所选行对象的IsSelect 的值。
但是在使用过程中发现,会有几个行对象,单击的时候,会先触发PropertyChanged改变IsSelect,然后进入CheckBox_Checked事件,改变IsSelect 的时候再次触发PropertyChanged。这样的结果就是复选框不能选中,一直都是未选中。我程序里也没有其他地方改变IsSelect ,而且每次都是那些几个行对象有这个现象。
解决方法:
Mode使用OneWay,只能通过UI界面来改变这个值,不能使用TwoWay。
标签:触发,PropertyChanged,CheckBox,Checked,DataGridCheckBoxColumn,DataGrid,改变,IsSelect, From: https://www.cnblogs.com/sww31302472/p/17884403.html