我正在使用 MVVM 模式。
在我的 View 模型中,我的单选按钮有一个枚举属性。此属性连接到我的模型的枚举属性:
public MyEnum MyEnumVar
{
get { return MyModel.EnumVar; }
set { MyModel.EnumVar = value; }
}
如果我更改为不同的 View 然后更改回原始 View ,而不是调用 getter,而是调用 setter,并且传递的值是我的单选按钮的第一个选项。
基本上每次我切换 View 时,我的模型单选按钮的枚举都会被重置。有没有办法阻止二传手被调用?
最佳答案
I am using a converter so that I can store the resulting boolean into my enum property.
转换器是一个可怕的解决方案,现在已经很普遍了,并且对于绑定(bind)
RadioButtons
的许多重复问题已被接受。 ,“正确”的方式是使用 ListBox
和 SelectedItem
属性(property),这样就没有很多 RadioButtons
可以争夺你的属性(property)。可以在 this answer 中查看如何执行此操作的示例。 .如果切换查看
SelectedItem
应该将源绑定(bind)到目标,选择 RadioButton
与各自的值(value)。
关于c# - 停止在 View 加载时调用单选按钮 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11695336/