我試圖應用雙向綁定到WPF單選按鈕。在XAML我有以下:XAML雙向綁定RadioButton IsChecked
<RadioButton IsChecked="{Binding IsActive, Mode=TwoWay}"/>
和在各個視圖模型我有
private bool _isActive;
public bool IsActive
{
get { return _isActive; }
set
{
_isActive = value;
OnPropertyChanged("IsActive");
}
}
因爲我設置模式TwoWay
我期待作爲我切換單選按鈕的IsActive屬性在視圖模型會相應地更新。然而,的set
的IsActive
總是如此,所以單選按鈕總是打開。
我誤解了一個單選按鈕的TwoWay
屬性,如果是的話,我該如何去實現預期的效果?
在您的假設中,您是正確的,並且默認情況下IsChecked的綁定是TwoWay,因此您無需在綁定中指定它。在這裏肯定還有別的東西在玩,也許另一個單選按鈕正在導致它改變。你可以在IsActive集合中使用斷點來查看屬性值如何改變? –
對於同樣從ToggleButton繼承的CheckBox,不要有這個問題。我可以使用它。 –
@GlenThomas - value屬性始終爲真。用CheckBox代替RadioButton給出了正確的行爲,即在true和false之間切換。 –