0

そのため、UserControlから派生したWPFNavigationControlを実装するシナリオがあります。そのNavigationControlには、2つの要件があります。それは、戻る/進むナビゲーションの履歴を処理すること(十分に単純)と、NavigationFrameBaseタイプから派生したコントロールを視覚的に提示できることです。これもUserControlから派生したNavigationFrameBaseは、複数のコントロールがこのタイプから継承するため、さまざまな形式で表示される場合がありますが、NavigationFrameBaseは、NavigationFrameBaseから派生したタイプのコンテンツを操作しているユーザーが持っていることを通知するために、NavigationControlに通知の形式を提供する必要があります。 NavigationControlが新しいNavigationFrameBaseを提示できるように、Navigate操作を要求しました。

私の問題は2つあります。

  • 表示されるNavigationFrameBaseのインスタンスを含めるためにNavigationControlを設計するための最良の方法は何ですか
  • 子->親の要求システムを処理するためのWPFの適切な方法は何ですか?ルーティング/アタッチされたイベントは正しいように見えますが、同じ機能を提供するメディエーターパターンを見ることができました。
4

1 に答える 1

1

親と子の間の通信がどのように発生すると予想されるかによって異なります。イベントをリッスンして反応する NavigationControl だけの問題であれば、単純なイベント処理パターンが機能します。

ただし、NavigationFrames に影響を与えるために NavigationControl が必要な場合 (たとえば、無効化/有効化するため、またはドロップダウン メニューの場合は、別のドロップダウンが開いたときに開いているドロップダウンを閉じる必要がある場合など)、または 1 つの NavigationFrame を許可する必要があります。兄弟に影響を与えるには、メディエーター パターンを使用するか、それらのアクションを処理するために NavigationFrameBase でコールバック メソッドを公開する必要があります。

予想されるユースケースについて詳しく知らなければ、それ以上の詳細を提供することは困難です。

于 2012-09-27T00:59:23.093 に答える