2013-03-21 22 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}" 
相關問題