使用MVVM的通用用户控件的替代方案



可能重复:
如何定义mvvm模式中的用户控件?

我正在尝试使用MVVM编写我的第一个WPF应用程序。我创建了一个由两部分组成的用户控件,一个DataGrid和一个详细视图(显示DataGrid中所选行的详细信息)。假设这个控件加载并显示不同的数据模型(如客户、产品等),但由于似乎无法使用通用用户控件,我发现我的用户控件毫无用处。坦率地说,我开始认为MVVM模式中的任何用户控制都是无用的。在我的视图中,有没有其他方法可以防止不必要地复制/粘贴相同的DataGrid和详细信息视图?thx提前

首先,可以使用通用用户控件。但除此之外,这可能不是你想要的。

您需要做的是创建一个可以重复使用的用户控件。有几个选项:

  1. 创建一个基本用户控件并允许视图从中派生
  2. 创建一个基于当前视图模型自行组合的视图(推荐)

要为特定用户控件创建视图模型,包括视图模型的延迟加载,可以使用Catel。有关更多信息,请参阅本文档。

免责声明:我是Catel的开发人员之一,但如果其他人知道其他方法,我很高兴听到他们的声音。

相关内容

最新更新