我有一个View,它包含一个GridView对象和一个View所代表的ViewModel。现在,我想覆盖ViewModel中的控件,以便保持相同的GUI但具有不同的业务逻辑(即包含在ViewModel中)。这样做的正确方法是什么?
我认为它不像扩展ViewModel那么简单,因为它的GUI在View(有一个XAML组件)中表示存在问题。
有什么想法吗?
感谢。
编辑:修正了拼写错误
答案 0 :(得分:0)
我倾向于创建一个Base ViewModel类,其中包含标准UI和控制逻辑。
然后我将我想要单独控制的功能/子设置为可重写。但我使用默认代码填充它们,例如标准表单状态(编辑/添加/删除)代码。任何我想强制被覆盖的东西当然都设置为必须覆盖。
然后,我创建一个基于个人视图的ViewModel,从Base ViewModel类继承,覆盖我需要的方法,并将此单个ViewModel设置为View的DataContext。
您可以使用此方法切换您喜欢的ViewModel,只要它们都从您的基本ViewModel类继承。
我希望这有帮助!