簡體   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