私はstackoverflowで新しく、WPFでは比較的新しいです。戦略、状態、シングルトン...またはその構成?
私は半ダースのパターンとベストプラクティスの重い書物(だけでなく、ここでは、多くのポスト)のまわりで私の頭をラップしましたが、私は探しています解決策を見つけるように見えることはできません。
私の問題:WPF /ネット4/C位 私はエディタとしてstrored時間(AT(タイプ文書Dの)一つの文書をロードすることができる(タイプエディタEの)テキストプロセッサを有します。 CurrentDocument)。いくつかのUIコントロールはDocument.Title,Document.DateLastModificationのような文書のプロパティ(すべての依存関係のプロパティ)にバインドします。
今、私はすべてのイベントハンドラを外し、再フックすることなく、実際のドキュメントインスタンスを切り替えることができるようにしたいです。ですから、Editor.CurrentDocumentプロパティは実装を切り替える際に何らかの形でそのインスタンスを保持しなければなりません。
私はSingleInstanceDocumentクラスを作成して、ドキュメントから直接継承し、シングルトンパターンを使用しようとしました。しかし、私はすべてのプロパティを内部的に再マップせずに、SingleInstanceDocumentにDocumentインスタンスを挿入する方法を見つけることができません。
は私が何とか誤っているか、ここでのポイント足りませんか? SingleInstanceDocumentアプローチが実行可能なソリューションである場合、使用可能なすべての依存関係プロパティを内部ドキュメントから外部SingleInstanceDocumentシェルに自動的に再マップする方法はありますか?
ありがとうございました!
補遺:
それはここでは、必要な機能が既にを実装することにより、箱から出してWPF/.NETによって提供されたことが判明しCurrentDocumentホストオブジェクトにをINotifyPropertyChangedの。したがって、現在のドキュメントを変更すると、UIがバインドされたコントロールを適切に更新しました。すべての混乱のために申し訳ありません。
時間。パターンは、正しいパターンを提供することではなく、物事を終わらせることに関するものです。 'SingleInstanceDocument'を持つことの利益は何ですか? 1つしかインスタンス化できませんか? – sehe
私のアプリケーションはORMを使用しているため、エディタの起動時にすべてのドキュメントが既に読み込まれています。エディタ内の現在編集されているドキュメントを、すでにロードされているインスタンスのいずれかで切り替えるだけです。 – Sebastian