私はそれぞれ異なるUserControls
を持っていますが、どちらもそれぞれViewModels
です。しかし、私は背景色のようないくつかの "グローバル"変数や、すべてのViewModelが必要とするデータを持つ配列をMainViewModel
に持っています。"グローバル" WPF ViewModelプロパティ
MainView
に、ユーザーが設定したBackground-Colorを別のViewModels
に伝えるにはどうすればよいですか?
私はそれぞれ異なるUserControls
を持っていますが、どちらもそれぞれViewModels
です。しかし、私は背景色のようないくつかの "グローバル"変数や、すべてのViewModelが必要とするデータを持つ配列をMainViewModel
に持っています。"グローバル" WPF ViewModelプロパティ
MainView
に、ユーザーが設定したBackground-Colorを別のViewModels
に伝えるにはどうすればよいですか?
最初にビューモデルにスタイリング情報を持たないでください。
しかし、いくつかの共有プロパティが必要な場合は、Serviceパターンを使用することをお勧めします。これは、必要とするビューモデルで注入する、シングルトンにほぼ等しいServiceクラスの作成にあります。
詳細については、this StackOverflow question and its answersを参照するか、単に「サービスレイヤー」と「依存性注入」を検索してください。
私はそれを試してみる、ありがとう。残念ながら私は今15ポイント未満のRepを持っているので、私はupvoteを傾ける。質問を投稿するたびに私はちょうど1つのdownvoteを得る。私は理由を理解できない... –
@MaxR。おそらくコードが表示されていないためです。ここでは、コード=悪い質問はないと思う人もいますが、あなたの質問にコードが必要ない理由がわかります。 – Kilazur
テーマの背景色はテーマによってうまく処理されます。それはビューモデルに属しません。ビューモデル領域に属し、実際に共有する必要があるものがあれば、その情報を担当する[singleton viewmodel](https://en.wikipedia.org/wiki/Singleton_pattern)を追加することを検討してください。 –