このプロパティへのバインドは非常に簡単です。
public Foo MyFoo {get; set;}
public class Foo
{
public object this[object key]
}
ここ XAML では、次のことができるためです。
<Label Content="{Binding MyFoo["key"]}"/>
しかし、2 番目のインデックス付きプロパティがある場合はどうなるでしょうか。
これは C# では直接できないことはわかっていますが、VB.NET では可能です。
Default Public Property Item(key As Object) As Object 'equivalent to this[...]'
Public Property Item2(key As Object) As Object 'a second indexed property!'
これらは私が試したバインディングの一部です:
<Label Content="{Binding MyFoo["key"]}"/>
<Label Content="{Binding MyFoo.Item["key"]}"/>
<Label Content="{Binding MyFoo.Item2["key"]}"/>
最初のバインドは引き続き機能しますが、他の 2 つは機能しません。
これに対する直接的な解決策はありますか、それとも回避策が必要ですか?