3

CompositeWPF ( http://www.codeplex.com/CompositeWPF ) - 別名 Prism を使用して、作業中のアプリケーションを構築することを検討しています。

このアプリケーションは従来の LOB アプリケーションではありませんが、データと状態の情報をユーザーに提示します。

私が確信していないことの 1 つは、CompositeWPF が複数のウィンドウまたはシェルをサポートしているかどうかです。画面の右側下部に表示される境界線のないウィンドウ (MSN 通知と考えてください) をアプリケーションにユーザーに通知させたいのですが、ビューが領域に挿入されるなどのアイデアを引き続き使用します。

これに加えて、ユーザー アクション (何かをダブルクリックするなど) に反応し、メイン ウィンドウを非表示にして、作業の実行中に進行状況ダイアログを表示できるようにしたいと考えています。

それで、これは可能ですか?

4

2 に答える 2

3

私は Composite wpf を数か月使用していますが、あなたが求めていることを実行できない理由がわかりません。

私はおそらく複数のシェルルートには行かないでしょう。別のウィンドウでビューを簡単に表示できるようにする「WindowRegionAdaptor」を定義する「コンポジットwpf contribプロジェクト」があります(ここを参照してください:http://www.codeplex. com/CompositeWPFContrib ) 私はそれを使用していませんが、他の contrib アイテムのいくつかを使用しており、宣伝どおりに機能します。ドキュメントは現在不足しているか存在しないものもありますが、フォーラムは役立つ場合があります。

試してみる必要がありますが、イベントアグリゲーターを使用して、ダブルクリックアクションでイベントを公開できます

eventAggregator.GetEvent<MainWindowShowEvent>().Publish(false);

ShellPresenter がサブスクライブし、受信時に非表示にするシェル ビューを呼び出すことができます。

eventAggregator.GetEvent<MainWindowShowEvent>().Subscribe(b => View.Show(b) );

次に、WindowRegionAdaptor を使用して進行状況ダイアログを表示し、完了時に、メイン ウィンドウがサブスクライブする 2 番目のイベントを発行します。これにより、メイン ウィンドウが再度表示されます.. (上記では、代わりにペイロードを使用して、シェルを表示するか非表示にするかを示しました)

その一部が役立つことを願っています-すべて未テスト

トレヴ

于 2008-11-18T17:41:23.907 に答える
3

次の投稿も確認できます。

お役に立てれば、

エセキエル・ジャディブ

于 2010-02-14T12:32:34.633 に答える