在代码中,我有一个名为MyHashtable
的哈希表。此哈希表包含一个元素,键= "Value"
, 值= 3
。我目前正在尝试将此值绑定到文本框。这是我的 XAML 代码:
<TextBlock Margin="4" Text="{Binding MyHashtable[Value]}" />
<TextBlock Margin="4" DataContext="{Binding MyHashtable}" Text="{Binding [Value]}" />
问:为什么第二个绑定不起作用,而第一个绑定效果很好?
对于第二个绑定,我尝试了文本的其他绑定,例如:Value
、this[Value]
甚至Me[Value]
,但它们都不起作用。
使用Item[Value]
给了我一个有趣的例外:Parameter count mismatch.
有人明白这一点吗?这是因为 C# 和 VB.NET 之间的差异。看到这个问题。
对于第二个选项,您可以使用它:
<TextBlock Margin="4"
DataContext="{Binding MyHashtable}"
Text="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=DataContext[Value]}" />