C# 在 MVVM 设计模式 (WPF) 中扩展类

本文关键字:扩展 WPF MVVM 设计模式 | 更新日期: 2023-09-27 17:57:00

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

我认为它不像扩展视图模型那么简单,因为它的 GUI 在视图中表示存在问题(具有 XAML 组件)。

有什么想法吗?

谢谢。

编辑:修正错别字

C# 在 MVVM 设计模式 (WPF) 中扩展类

我倾向于做的是创建一个包含标准 UI 和控件逻辑的基本视图模型类。

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

然后,我创建一个基于视图的单个视图模型,从 Base ViewModel 类继承,重写我需要的方法,并将此单个视图模型设置为视图的 DataContext。

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

我希望这有帮助!