2013-10-01 33 views
0

在我的程序中,我有一個ViewModel,它改變了兩種不同模型中的數據。它通過radioButton代理屬性執行此操作。我使用MVVM研究了radioButton命令,並且我知道它們與其他控件不同。使用MVVM中的單選按鈕屬性

當我調試這些代理屬性時發生的情況是,只要選擇了radioButton,程序就會運行最後選擇的radioButton的命令。爲什麼會發生這種情況,我該如何解決?

這是執行一些操作我radioButton代理屬性的一個示例:

public bool myRadioButton 
{ 
     get { return modelA.myRadioButton; } 
     set 
     { 
      modelA.myRadioButton = value; 
      NotifyPropertyChange(() => myRadioButton); 

      modelA.checkBox1 = !value; 
      modelA.checkBox2 = !value; 
      viewModelB.modelB.label1Visibility = !value; 
      viewModelB.modelB.label2Visibility = !value; 
     } 
} 

謝謝。

+0

這很難理解,你的問題是什麼。你可以發佈代碼示例嗎? – Dennis

+0

問題已更新 –

+0

試想兩個單選按鈕:R1和R2。 R1處於選定狀態,R2不是。你點擊R1,它會觸發一個事件,因爲它的狀態從Selected到Not Selected。由於R2的狀態也發生了變化,它將觸發從未選擇到選定的事件。但是第一個被捕獲的事件將會是我猜想的那個。 – FloChanz

回答

0

我從this blog post執行RadioButtonExtended。該解決方案完美適用於此問題。