回答編集履歴
2
IndexerName忘れてた
answer
CHANGED
@@ -11,12 +11,14 @@
|
|
11
11
|
~~単純な`Enum`→`int`なら簡単ですが、インデクサだと`IMultiValueConverter`(xamlがごちゃつく)になっちゃうような??(`MarkupExtension`でどうにかなるとは思いますが、特に考えてはいません^^;~~
|
12
12
|
|
13
13
|
|
14
|
-
`MyArray`部分が消えていいなら、ViewModel自体にインデクサを作ってラッパーにすることは簡単です。
|
14
|
+
~~`MyArray`部分が消えていいなら、~~ ViewModel自体にインデクサを作ってラッパーにすることは簡単です。
|
15
15
|
```cs
|
16
16
|
public class MainViewModel
|
17
17
|
{
|
18
|
+
[IndexerName("MyArray2")]
|
18
19
|
public string this[EnumType enumType] => MyArray[(int)enumType];
|
19
20
|
```
|
20
21
|
```xml
|
21
|
-
<TextBlock Text="{Binding Path=[(local:EnumType)Normal]}" />
|
22
|
+
<TextBlock Text="{Binding Path=MyArray2[(local:EnumType)Normal]}" />
|
22
|
-
```
|
23
|
+
```
|
24
|
+
[IndexerNameAttribute クラス (System.Runtime.CompilerServices) | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/api/system.runtime.compilerservices.indexernameattribute)
|
1
勘違い
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
> 現行が配列[添え字]の形式でバインドされているので、影響範囲を考えるとできる限り修正が少なく
|
9
9
|
> (可能であればConverterをかませる等)で出来たらうれしいです。
|
10
10
|
|
11
|
-
単純な`Enum`→`int`なら簡単ですが、インデクサだと`IMultiValueConverter`(xamlがごちゃつく)になっちゃうような??(`MarkupExtension`でどうにかなるとは思いますが、特に考えてはいません^^;
|
11
|
+
~~単純な`Enum`→`int`なら簡単ですが、インデクサだと`IMultiValueConverter`(xamlがごちゃつく)になっちゃうような??(`MarkupExtension`でどうにかなるとは思いますが、特に考えてはいません^^;~~
|
12
12
|
|
13
13
|
|
14
14
|
`MyArray`部分が消えていいなら、ViewModel自体にインデクサを作ってラッパーにすることは簡単です。
|