我正在开发一个棱镜应用程序,上面有一个带状栏,左边有一个展望栏,还有一个带标签的内容区域(带有regionadapter的tabcontrol)。
我正在使用视图注入。
我现在的问题是:当从一个现有的选项卡项切换到另一个选项卡项时,如何将选项卡项自己的tabcontrol (例如edituser按钮)注入到功能区中。
我认为INavigationAware在这种情况下不起作用。(对吧?)
我能想到的唯一方法就是挂接到tabheader中,在那里做一些事情。
我很高兴你能给我的每一个解决方案。
提前感谢
发布于 2012-11-29 20:21:05
我读了你对我的问题的回应,认为棱镜的EventAggregator可以帮助你。它的设计目的是方便模块间的通信,以及其他功能。下面是一个如何使用它的示例:
获取EventAggregator的实例。我在这里使用依赖注入:
// Ctor injection
private IEventAggregator _eventAggregator;
public YourViewModel(IEventAggregator eventAggregator)
{
_eventAggregator = eventAggregator;
}创建要发布的事件(参数用于负载)。在您的情况下,选项卡选择:
public class TabSelectedEvent:CompositePresentationEvent<object>{}选择页签时发布事件;
_eventAggregator.GetEvent<TabSelectedEvent>().Publish(null);最后,订阅事件并响应:
_eventAggregator.GetEvent<TabSelectedEvent>().Subscribe(OnTabSelectedEvent);现在,你应该可以走了。
https://stackoverflow.com/questions/13526161
复制相似问题