[英]DataGrid CheckboxColumn bound to VM property not calling setter
预计到达时间:我使用的是Caliburn.Micro,因此网格的x:Name属性被绑定到VM上名为MyData的属性,该属性又具有IsTrue属性。 MyData确实继承自PropertyChangeBase
我有一个DataGrid,其中的列绑定到ViewModel的bool属性:
<DataGrid x:Name="MyData"
AutoGenerateColumns="False"
Width="282"
RowHeaderWidth="0"
CanUserAddRows="false">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="MyChckColumn"
Binding="{Binding IsTrue, Mode=TwoWay}"
Width="80"/>
</DataGrid.Columns>
</DataGrid>
仅当选择了网格上的其他内容时,它才会进入设置器,而当我实际选中一个为空的框时,它才进入设置器。
public bool IsTrue
{
get
{
return _isTrue;
}
set
{
if (value.Equals(_isTrue)) return;
_isTrue= value;
NotifyOfPropertyChange(() => IsTrue);
}
}
我需要调用某些验证方法,还是需要设置触发器?
要获得您想要的行为,必须将绑定的UpdateSourceTrigger
属性设置为PropertyChanged
。
默认情况下,单元格失去焦点时,绑定源将更新。
Binding="{Binding IsTrue, UpdateSourceTrigger=PropertyChanged}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.