WPF,不同的UserControl导航在同一个TabItem上

时间:2014-05-11 10:41:02

标签: c# wpf mvvm

http://s7.directupload.net/images/140511/66z6w2tq.jpg

正如你在图片中看到的那样,我用Schema解释了所有内容,我有一个TabItem,在这个TabItem上,我想每次用Button更改DataContext。我的意思是,我想要浏览不同的UserControls,但是要从TabControl保持在同一个TabItem上。我不知道如何浏览不同的ViewModel,每次我的值都不会改变我的元素。我也找不到相同情况的例子。任何有关代码段或完整示例的帮助都将受到关注。 提前谢谢。

WPF / MVVM

1 个答案:

答案 0 :(得分:0)

我认为这是使用带有EventAggregator或MvvmLight的Messenger的pub sub的好例子。

然后您可以通过松散耦合通知MainViewModel以在选项卡中交换控件或视图。 基本上,您可以通过另一个范围通知另一个ViewModel进行某些更改,然后订阅它。

可能的结构可能是: - 带有TabItemViewModel集合的MainViewModel - 单个TabItemViewModel也可以包含Controls和嵌套的ViewModels

如果要更改选项卡,请将ChangeTabMessage发送到MainViewModel 如果您想在选项卡中导航,请使用Messaging或像今天一样导航。

在此处查看EventAggregator:http://msdn.microsoft.com/en-us/library/ff921122.aspx

或查看MVVMligh Toolkit Messenger ......

HTH