在MVVM中使用单选按钮属性

时间:2013-10-01 13:05:42

标签: c# wpf mvvm radio-button

在我的程序中,我有一个ViewModel,可以改变两个不同模型中的数据。它通过radioButton代理属性执行此操作。我用MVVM查看了radioButton命令,我知道它们与其他控件不同。

调试这些代理属性时,我看到的情况是,只要选择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;
       }
}

谢谢。

1 个答案:

答案 0 :(得分:0)

我从this blog post实施了RadioButtonExtended。该解决方案可以很好地解决这个问题。