0

我正在开发一个棱镜应用程序,顶部有一个功能区栏,左侧有一个外观栏和一个选项卡式内容区域(带有 regionadapter 的选项卡控件)。

我正在使用视图注入。

我现在的问题是:当从一个现有的 tabitem 切换到另一个 tabitem 时,如何将 tabitem 自己的 tabcontrol(例如 edituser 按钮)注入功能区。

我认为 INavigationAware 在这种情况下不起作用。(正确的?)

我能想象的唯一方法是连接到 tabheader 并在那里做一些事情。

我很高兴你能给我的每一个解决方案。

提前致谢

4

1 回答 1

0

我阅读了您对我的问题的回答,并认为 PrismEventAggregator可以帮助您。它旨在促进模块间通信以及其他功能。以下是如何使用它的示例:

获取 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);

现在,你应该可以走了。

于 2012-11-29T12:21:04.937 回答