繁体   English   中英

绑定到VM属性的DataGrid CheckboxColumn不调用setter

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM