回答編集履歴
3
XxxConfig.Instance メソッド→XxxConfig.Instanceアクセサ
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を使う前に使っていた方法を思い出したので本文に追記します。
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
参照ページの読むべき個所を明記した。
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
以下は Prism ってなんぞ?という方向けの説明です。
|
11
|
+
以下は Prism ってなんぞ?という方向けの説明です。このページの DI コンテナの辺りの説明を読んでください。
|
12
12
|
|
13
13
|
|
14
14
|
|