http://s7.directupload.net/images/140511/66z6w2tq.jpg
正如你在图片中看到的那样,我用Schema解释了所有内容,我有一个TabItem,在这个TabItem上,我想每次用Button更改DataContext。我的意思是,我想要浏览不同的UserControls,但是要从TabControl保持在同一个TabItem上。我不知道如何浏览不同的ViewModel,每次我的值都不会改变我的元素。我也找不到相同情况的例子。任何有关代码段或完整示例的帮助都将受到关注。 提前谢谢。
WPF / MVVM
答案 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