検索しましたが、必要な場所にたどり着くのに役立つものは何もありません。
問題の説明:
複数のビュー (ユーザー コントロール) をホストする単一のダイアログ ウィンドウがあります。[次へ] および [戻る] をクリックすると、ウィザードのように、このダイアログ内で前後に移動します。
6 つのダイアログのうち、4 つのダイアログが同じコア データを参照しています。たとえば、 ObservableCollection と言います
その場合、すべてこの同じ ObservableCollection を参照する必要がある 4 つの viewModel があります。「ウィザード」ダイアログの新しいステップに進むたびに、リストを保存して再ロードしたくありません。
私の質問は、これを達成するための最良/最も実用的な方法は何ですか.
私が考慮した次のこと:
- 静的クラス
- シングルトン - うーん
- ビュー間でパラメーターを渡す (ただし、nextlocation と previouslocation は非常に汎用的であるため、これは困難です)。
- メディエーターのパターン?メディエーター パターンに関する私の問題は、ビュー間で「通信」したくないことです。すべてのビューで同じデータ ソースを共有したいだけです。
- オブザーバーパターン?ObservableCollections を使用して INotifyPropertyChanged を実装している場合、変更を誰かに通知する必要はありません。
この問題を解決するために必要な追加情報をお知らせください。喜んで提供いたします。
私はデザインをしているので、コード例を実際に探しているわけではありません。コード例が設計を説明するのに役立つなら、私はそれで大賛成です。
最後に、私はフレームワークを使用していないため、EventAggregator はオプションではありません (EventAggregator を正しく理解していない場合を除きます)。
前もって感謝します!!