2017-09-15 21 views
1

私はそれぞれ異なるUserControlsを持っていますが、どちらもそれぞれViewModelsです。しかし、私は背景色のようないくつかの "グローバル"変数や、すべてのViewModelが必要とするデータを持つ配列をMainViewModelに持っています。"グローバル" WPF ViewModelプロパティ

MainViewに、ユーザーが設定したBackground-Colorを別のViewModelsに伝えるにはどうすればよいですか?

+3

テーマの背景色はテーマによってうまく処理されます。それはビューモデルに属しません。ビューモデル領域に属し、実際に共有する必要があるものがあれば、その情報を担当する[singleton viewmodel](https://en.wikipedia.org/wiki/Singleton_pattern)を追加することを検討してください。 –

答えて

2

最初にビューモデルにスタイリング情報を持たないでください。

しかし、いくつかの共有プロパティが必要な場合は、Serviceパターンを使用することをお勧めします。これは、必要とするビューモデルで注入する、シングルトンにほぼ等しいServiceクラスの作成にあります。

詳細については、this StackOverflow question and its answersを参照するか、単に「サービスレイヤー」と「依存性注入」を検索してください。

+0

私はそれを試してみる、ありがとう。残念ながら私は今15ポイント未満のRepを持っているので、私はupvoteを傾ける。質問を投稿するたびに私はちょうど1つのdownvoteを得る。私は理由を理解できない... –

+2

@MaxR。おそらくコードが表示されていないためです。ここでは、コード=悪い質問はないと思う人もいますが、あなたの質問にコードが必要ない理由がわかります。 – Kilazur

関連する問題