私はアプリケーション機能全体をタブの中に入れたWPFアプリケーションを持っています。ウェブブラウザと同様に、すべてのタブは実際のアプリケーションの1つのインスタンスです。ViewModelがWPFでViewModelのコレクションを持つことは意味がありますか?
今私は、アプリケーションウィンドウMainWindowViewModel
全体のビューモデルを持っていますが、そのビューモデルに観察可能なコレクションのタブビューモデルを持たせてもよろしいですか?
私はアプリケーション機能全体をタブの中に入れたWPFアプリケーションを持っています。ウェブブラウザと同様に、すべてのタブは実際のアプリケーションの1つのインスタンスです。ViewModelがWPFでViewModelのコレクションを持つことは意味がありますか?
今私は、アプリケーションウィンドウMainWindowViewModel
全体のビューモデルを持っていますが、そのビューモデルに観察可能なコレクションのタブビューモデルを持たせてもよろしいですか?
はい、このアプローチはまさにこのタイプのシナリオでは意味をなさえます。あなた自身のビューであるリストアイテムのコレクションを持っている場合、ビューモデルを入れ子にすることで、いつでもどのリストアイテムを扱っているのかを簡単に判断できます。
コレクションが2つのプロパティを持つ単純なオブジェクトのセットであった場合、余分なビューモデルを処理するオーバーヘッドはありません。
しかし、これらのタブのそれぞれに独自の動作があり、個々のビューモデルが適切であるように見えます。
ただし、ビューモデル間で通信する必要がある場合は、少し複雑になります。何らかのイベントアグリゲータをまだ使用していない場合は、ある時点でそのパスを頭を下ろす必要があります。
タブは決してお互いに話す必要はありません。彼らはお互いに完全に別々です。だから、私はこのアプローチを取るべきだと思う。 – Tower
1ヶ月後:私はこのアプローチが完璧であることを発見しました。ソリューションが素晴らしいものだと表現したかっただけです。 – Tower