1

私は、メインのキャンバス領域を持つWPFアプリケーションを作成しています。この領域では、ユーザーはいくつかのウィンドウを開いたり、ドラッグアンドドロップしたり、通常はアプリケーション内で好きなように移動したりできます。

これまでに行ったことは、基本的にShow()メソッドを使用してウィンドウを開き、タスクバーからウィンドウを非表示にしました。ただし、メインアプリケーションを最小化すると、開いている小さなウィンドウがすべてデスクトップに表示されます。私が探しているのは、基本的に、アプリケーション内に含まれるウィンドウを維持する方法です。

これは可能ですか?

4

2 に答える 2

1

はい。ただし、MDIが以前行っていたものを置き換えるために、いくつかのインフラストラクチャを設計する必要があります(多くの場合、かなりひどいですが)

そのため、アプリで新しいウィンドウを開いたら、それをリストに追加します。閉じたら取り出しますメインアプリが最小化されたら、リスト内のすべてのウィンドウも最小化します。

また、子ウィンドウの移動イベントをトラップして範囲内に保ち、メインアプリが移動するときに子を連れて行くこともできます。ドッキング、カスケード、タイリング...

この管理された子ウィンドウのリストを実行するには、キービットを使用します。

于 2012-10-14T16:25:51.007 に答える
0

あなたがしたいことはMDIと呼ばれています。

WPFMDI

于 2012-10-14T16:15:55.890 に答える