【问题标题】:Binding to ViewModels that are displayed using a ContentPresenter and DataTemplates?绑定到使用 ContentPresenter 和 DataTemplates 显示的 ViewModel?
【发布时间】:2012-10-30 19:09:11
【问题描述】:

我目前在我的应用程序顶部使用ItemsControl,其中包含一些按钮,绑定到 ViewModelBases 列表。这些虚拟机是我的应用程序的页面。单击时,他们将当前页面设置为适当的页面。内容展示器显示当前视图模型,DataTemplate 将其转换为正确的视图。

如何在这些视图中使用数据绑定?由于视图是由 ViewModel 创建的,这是否意味着我不能在视图中创建该视图模型的新实例?它如何找到要绑定的正确实例?还是自动绑定?

【问题讨论】:

    标签: wpf mvvm navigation


    【解决方案1】:

    WPF ItemsControls 自动将它们在屏幕上呈现的每个 Item 的 DataContext 设置为底层集合中的相应 Item。这意味着,如果您将 IEnumerable 设置为 ItemsControl(或任何其他 ItemsControl 派生类,例如 ListBox)的 ItemsSource,它将在屏幕上呈现每个项目(使用任何可用的 DataTemplates)并自动分配为每个 ViewModelBase 项生成的视觉元素。

    【讨论】:

      猜你喜欢
      • 2014-05-12
      • 2017-02-11
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多