如何将父元素的绑定中继到子元素的数据上下文?

时间:2011-10-14 13:34:04

标签: c# wpf mvvm

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

关于如何进行这种中继绑定的任何想法?

1 个答案:

答案 0 :(得分:1)

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

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

在这个例子中,我仍然会将SelectedIndex绑定到ParentViewModel中的某个内容,并且只要发生更改,我就会广播SelectedTabChanged消息。对此类信息感兴趣的单个子ViewModel将订阅这些消息,并根据所选的选项卡是否属于它们来执行所需的任何逻辑。