私は、ショップ用のWPFアプリケーションを開発しています。WPFでのMDIアプリケーションの最善のアプローチ?
私はMainWindowを持っており、残りはすべてChildです。
子ウィンドウとして使用するのが最適です。
- ウィンドウ
- ユーザーコントロール ウィンドウが正常になり
、それがメインウィンドウの一番上になり、そのユーザーコントロール場合には、メインウィンドウのキャンバスであろう。
誰も私にこの2つを使用するのが最善であることを示唆することができます。
私は、ショップ用のWPFアプリケーションを開発しています。WPFでのMDIアプリケーションの最善のアプローチ?
私はMainWindowを持っており、残りはすべてChildです。
子ウィンドウとして使用するのが最適です。
、それがメインウィンドウの一番上になり、そのユーザーコントロール場合には、メインウィンドウのキャンバスであろう。
誰も私にこの2つを使用するのが最善であることを示唆することができます。
子ウィンドウ用にUserControlsを使用することをおすすめします。これにより、メインウィンドウのすべての "親"コントロールを設定することができ、子はそれらをオーバーライドしません。
さらなる提案として、Caliburn Microを調べることをおすすめします。これは、WPFウィンドウとユーザーコントロールを処理するための素晴らしいフレームワークです。親ウィンドウに子ユーザーコントロールを追加するには
、私は通常ちょうどそのように私のメインフォームにContentControlに追加します。
<ContentControl x:Name="ViewWindow" Margin="10" />
ちょうどその制御にあなたの子供を割り当て、あなたは罰金になります。人生&コーディングで多くのものと同様
:それが依存:)
ウィンドウ
ユーザーコントロール
これは設計上の決定です。
理解できません –
私は、AvalonDoのようなMDIフレームワークを使用することをお勧めしますck:http://avalondock.codeplex.com/ 多くの時間を節約できます。
これは、実際にはWPFを使用したMDIアプリケーションの最適なアプローチの1つで、古いMDIアプリケーションの短所を改善し、MVVMも可能です。 –
私はあなたのメインウィンドウでフレームを使用し、複数のページをホストするためにそれを使用することをお勧めしますが、親子ウィンドウの操作を使用することに決めたとき、子ウィンドウはデスクトップアプリケーションに最適です。
はあなたが次のような利点を達成するのを助けるでしょう。このアプローチを使用 this link訪問することができますWPFとSilverlightのナビゲーションの詳細については:アタッチされていないイベントハンドラによるメモリリークの
私はまた、このソフトウェアを構築する際に考慮できるものもたくさんあると思っていますが、終わりにはまだこの問題を決めるべき人です。
これは私の提案であり、これが役に立ちますようお願いいたします。
のウェブサイトを参照してください:http://wpfmdi.codeplex.com/
Re:wpfmdiプロジェクト去年2月の記事によると、 "プロジェクトがもう一度放棄されたようです" – user316117
はMDIContainerをチェックすることを検討してください。 MDI for WPFと似たプロジェクトですが、MDIChildウィンドウやインターフェイスなどを実装する必要がないため、自由度が増します。
MainWindowに子ウィンドウ(UserControl)を追加するにはどうすればいいですか?Canvasは良いです。 –
私は通常、メインウィンドウにContentControlを追加するだけで、複数のChildWindowを開く必要があります。私はあなたの詳細を与えるために私の投稿を編集しました。 – IAmTimCorey
ContentControlで複数の子コントロールをサポートすることができます –