2013-03-21 38 views
0

ETA:我使用Caliburn.Micro,因此网格的x:Name属性被绑定到名为MyData的属性,该属性又具有属性IsTrue。迈德特并从PropertyChangeBaseDataGrid CheckboxColumn绑定到VM属性不调用setter

继承我有一个绑定到视图模型一个布尔值属性列一个DataGrid:

<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); 
    } 
    } 

是否有一些我需要调用的验证方法,或需要设置的触发器?

+0

您是否尝试将BindingMode设置为TwoWay? – Dilshod 2013-03-21 18:22:17

+0

是的模式= TwoWay,没有改变任何东西。 – 2013-03-21 19:29:26

回答

1

要获得您所处的行为,您必须将绑定的UpdateSourceTrigger属性设置为PropertyChanged

默认情况下,当单元格失去焦点时更新绑定源。

Binding="{Binding IsTrue, UpdateSourceTrigger=PropertyChanged}" 
相关问题