0

上部にリボンバー、左側にアウトルックバー、タブ付きコンテンツ領域(regionadapterを使用したtabcontrol)を備えたプリズムアプリケーションを開発しています。

ビューインジェクションを使用しています。

私の問題は、既存のタブアイテムから別のタブアイテムに切り替えるときに、タブアイテム自体のタブコントロール(例:edituserボタン)をリボンに挿入する方法です。

このシナリオでは、INavigationAwareは機能していないと思います。(右?)

私が想像できる唯一のアプローチは、タブヘッダーに接続してそこで何かを行うことです。

私はあなたが私に与えることができるすべての解決策をうれしく思います。

前もって感謝します

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 に答える