web-dev-qa-db-ja.com

WPFアプリケーションにmdiを実装する方法

私はMDIアプリケーションが本当に好きです。

これにより、ウィンドウ間をすばやく移動して、異なるウィンドウのコンテンツを比較できます。さらに、あるウィンドウのコンテンツが別のウィンドウに役立つ場合があるので、コピーして貼り付けることができます。作業モードにとっては素晴らしいユーザーエクスペリエンスだと思います。

正しいか間違った練習、私はそれが大好きです。

Stack Overflowの質問WPFのMDIアプリケーションを見たところ、 Visual Studio 201 例として環境。その環境を実装できるかどうか、またどのように実装できるかがわかりませんでした。たとえば、独立した画面に切り離して(私にとってはそれほど重要ではありません)、残りのタブと並べて再配置できるタブを用意するなどです。

私は「WPFのドッキングレイアウトシステム」を探していると思います。これはサードパーティのコンポーネントを提供しています。

「通常の」アプリケーションから始めようと思います。ここには、すぐに使用できる簡単な実装はないように感じます。

14
Asaf

CodePlexには、次の2つの人気のあるプロジェクトがあります。

  • AvalonDock --Visual Studioスタイルのドッキングライブラリ、および
  • WpfMdi これは古典的なMDIウィンドウマネージャーです。

AvalonDockは、個別のタブセットを並べてサポートし、Visual Studioのようなティアオフウィンドウもサポートしているため、従来のMDIとは限りませんが、必要なものがすべて提供されます。これはSharpDevelopで使用されるため、ダウンロードして遊んで、ドッキングライブラリの使用方法を理解することができます。

編集:

そして、私は非常におしゃれに見える3番目のものを見つけました: Chronos WPF

10
Govert

何らかの理由で、MicrosoftはMDIが間違っていると判断しました。Googleで検索するとこれに関する多くの情報があります。

多くの人が気に入ったものを殺すのは間違っていると思います。私が訪れたフォーラムでは、MDIで機能する新しいMicrosoftの例を指摘して、それが合法であるという点を強調しています。アプリケーションを構築します。

私はストリームに逆らって泳ぐのが嫌いなので、silverlight、wpf、さらにはWindows-Phoneなどの最新のMicrosoftアプリケーションでMDIアプリケーションを作成できるにもかかわらず、理解したらすぐに終了します。マイクロソフトは本当にそれを思いとどまらせ、(私が知る限り)サポートを提供していません。

私たちの古き良きMDI "父"に何が起こったのか疑問に思う他の人に役立つことを願っています。

7
Asaf

私は彼らがこれを行うための組み込みの方法ではないと思います。ただし、DevExpress、Component One、Infragisitcs、Telerikなどのユーザーコントロールのセットを購入することを検討することをお勧めします...それらのほとんどは、VS2010の動作と同様のコントロールを持っていると思います。私はDevExpressがそうすることを知っています。

3
PeteT