回答編集履歴

3

XxxConfig.Instance メソッド→XxxConfig.Instanceアクセサ

2018/06/25 13:55

投稿

toydev
toydev

スコア297

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- - リソース定義(XxxConfigInstance メソッドでシングルトンが参照できる前提)
31
+ - リソース定義(XxxConfig.Instance アクセサでシングルトンが参照できる前提)
32
32
 
33
33
 
34
34
 

2

Prismを使う前に使っていた方法を思い出したので本文に追記します。

2018/06/25 13:55

投稿

toydev
toydev

スコア297

test CHANGED
@@ -8,16 +8,46 @@
8
8
 
9
9
 
10
10
 
11
- 以下は Prism ってなんぞ?という方向けの説明です。このページの DI コンテナの辺りの説明を読んでください。
12
-
13
-
14
-
15
- * [MVVM フレームワーク Prism の全体概観](https://qiita.com/toydev/items/cf1bb4b519e7e2453d46)
16
-
17
-
18
-
19
11
  また、単に設定値の表示だけではなく、設定変更後に何らかの計算をする必要がある場合、個別画面毎の ViewModel で設定側の ViewModel の変更を監視することができます。
20
12
 
21
13
 
22
14
 
23
15
  ViewModel の監視は ReactiveProperty というライブラリを使うのがお勧めです。
16
+
17
+
18
+
19
+ ##### (追記)Binding だけで行う簡易的な方法
20
+
21
+
22
+
23
+ 過去に使っていた Binding だけで行う簡易的な方法を思い出したので追記します。
24
+
25
+ 設定系ViewModelをシングルトンにするのが許容できるのであれば、個別画面側のXAMLにObjectDataProviderで設定系ViewModelのシングルトンをリソースとして定義し、Bindingできます。
26
+
27
+ 以下みたいな感じです。
28
+
29
+
30
+
31
+ - リソース定義(XxxConfigInstance メソッドでシングルトンが参照できる前提)
32
+
33
+
34
+
35
+ ```C#
36
+
37
+ <ObjectDataProvider x:Key="XxxConfig" ObjectInstance="{x:Static Member=local:XxxConfig.Instance}" />
38
+
39
+ ```
40
+
41
+
42
+
43
+ - リソースの参照個所 Binding
44
+
45
+ ```XML
46
+
47
+ <ComboBox SelectedValue="{Binding Source={StaticResource XxxConfig}, Path=ConfigProperty1}">
48
+
49
+ <!-- ... -->
50
+
51
+ </ComboBox>
52
+
53
+ ```

1

参照ページの読むべき個所を明記した。

2018/06/25 13:49

投稿

toydev
toydev

スコア297

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- 以下は Prism ってなんぞ?という方向けの説明です。
11
+ 以下は Prism ってなんぞ?という方向けの説明です。このページの DI コンテナの辺りの説明を読んでください。
12
12
 
13
13
 
14
14