【发布时间】:2013-05-20 19:00:18
【问题描述】:
我有一个 ListBox 绑定到我屏幕 LHS 上的 ViewModel 对象列表。 ListBox.SlectedItem 绑定到我的“MainWindowViewModel”上的一个属性,称为 CurrentItem。在 RHS 上,我有一个大区域来详细显示所选项目,其中包含许多用于编辑和浏览 ViewModel 包含的信息的嵌套控件。
据我所知,构建视图有两种方法。
- RHS 上的大面积区域是 ContentPresenter,其 Content 属性绑定到 CurrentItem。在我的资源中,定义一个要与我的 ViewModel 对象一起使用的模板。
- RHS 上的大面积区域是一个固定的 UserControl,其中包含显示我的 ViewModel 所需的所有 xaml。我将 UserControl 的 DataContext 属性绑定到 CurrentItem。
哪种方法更好,为什么?或许选项 2 通常更好,但选项 1 可以在 ListBox 中有不同类型的视图模型时使用,每个模型都有自己的模板?
【问题讨论】: