如何将绑定从父元素传递到子元素的数据上下文

本文关键字:元素 数据 上下文 绑定 | 更新日期: 2023-09-27 18:11:11

我有一个场景,在视图中TabControl的TabItem上有用户控件。这些用户控件分别绑定到ViewModel中的不同对象。我需要的是将这些控件传递给它们的绑定对象,即父TabItem的IsSelected属性值。

关于如何做这种中继绑定有什么想法吗?

如何将绑定从父元素传递到子元素的数据上下文

为什么不让您的ParentViewModel跟踪TabControl的SelectedIndex,而不是跟踪单个IsSelected值?

如果这不起作用,通常我使用像Microsoft PRISM的EventAggregator或MVVM Light的Messenger这样的东西来广播消息到其他感兴趣的ViewModels。

在本例中,我仍然将SelectedIndex绑定到ParentViewModel中的某些内容,并且任何时候更改,我都会广播SelectedTabChanged消息。对这些信息感兴趣的各个子viewmodel将订阅这些消息,并根据所选选项卡是否属于它们,执行所需的任何逻辑。