2

所以基本上我正在制作一个 WPF/MVVM Light 应用程序,我目前有一个 TreeView 代表各种不同类型的对象。这些对象中的每一个都包装在一个非常通用的“ViewModel”中,当前只是将它们的名称公开给应用程序中的 TreeView 显示。

在概念上链接到这棵树,我想在树下面提供一个对象查看器,这样当用户选择三个项目中的一个项目时,对象查看器会填充该节点的属性,它允许用户更改和保存新的有问题的节点的值。

我正在有效地尝试创建一个可以采用多种类型(7 种不同的对象类型)并公开它们的属性并允许用户编辑它们的抽象。本质上,我可以将这个抽象的属性绑定到 UI 上的一组文本/显示框,当用户点击保存时,让它从这个中间包装类调用实际底层数据对象的更新方法。

目前,我能想到的唯一方法是为每个底层对象类型制作一个单独的包装器(因为它们都有不同的属性),并且基本上对字段和更新方法进行硬编码。

在提供进一步的抽象和创建能够从各种对象公开和更新属性的通用包装类方面是否还有其他选择?谢谢。

4

1 回答 1

0

您可能希望将模型直接暴露给 View 并DataTemplate为每种类型的模型创建一个,而不是将每个模型包装在不同的 ViewModel 中,这将允许您为每种模型类型拥有不同的 UI,而无需在其中放置中间 ViewModel之间。只是一个建议。

于 2013-06-13T14:55:44.650 回答