-2

我有一个包含 GridView 对象和 View 代表的 ViewModel 的视图。现在,我想覆盖该 ViewModel 中的控件,以便保持相同的 GUI 但具有不同的业务逻辑(即包含在 ViewModel 中)。这样做的正确方法是什么?

我认为它不像扩展 ViewModel 那样简单,因为它的 GUI 在 View 中表示存在问题(它有一个 XAML 组件)。

有什么想法吗?

谢谢。

编辑:修正错字

4

1 回答 1

0

我倾向于做的是创建一个基础 ViewModel 类,其中包含标准 UI 和控制逻辑。

然后我将我想要单独控制的任何功能/子设置为可覆盖。但我用默认代码填充它们,例如标准表单状态(编辑/添加/删除)代码。当然,我想强制被覆盖的任何内容都设置为必须覆盖。

然后,我创建了一个基于个人视图的 ViewModel,从基本 ViewModel 类继承,覆盖我需要的方法,并将这个个人 ViewModel 设置为视图的 DataContext。

您可以使用此方法切换您喜欢的任何 ViewModel,只要它们都继承自您的基本 ViewModel 类。

我希望这有帮助!

于 2013-02-05T00:20:47.173 回答