我试图应用双向绑定到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之间切换。 –