3

コードには、という名前のハッシュテーブルがありMyHashtableます。この Hashtable には、 key= "Value"、 value=の要素が含まれています3。現在、この値をテキストボックスにバインドしようとしています。これは私の XAML コードです:

<TextBlock Margin="4" Text="{Binding MyHashtable[Value]}" />
<TextBlock Margin="4" DataContext="{Binding MyHashtable}" Text="{Binding [Value]}" />

Q:最初のバインディングは問題なく機能するのに、2 番目のバインディングが機能しないのはなぜですか?

Value2 番目のバインディングでは、テキストに対して :やなどの他のバインディングを試しましたthis[Value]Me[Value]、すべてうまくいきませんでした。


を使用Item[Value]すると、興味深い例外が発生Parameter count mismatch. します。誰かがこれを理解していますか? これは、C# と VB.NET の違いによるものです。この質問を参照してください。

4

1 に答える 1

1

For second option you can just use this:

<TextBlock Margin="4" 
     DataContext="{Binding MyHashtable}" 
     Text="{Binding RelativeSource={x:Static RelativeSource.Self},
            Path=DataContext[Value]}" />
于 2013-02-21T22:21:36.557 に答える