0

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

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

4

1 回答 1

1

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

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

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

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

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

于 2012-09-05T18:04:30.840 回答