使用 Hashtable 作为 DataContext(用于 WPF/XAML 绑定)



在代码中,我有一个名为MyHashtable的哈希表。此哈希表包含一个元素,键= "Value" , 值= 3 。我目前正在尝试将此值绑定到文本框。这是我的 XAML 代码:

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

问:为什么第二个绑定不起作用,而第一个绑定效果很好?

对于第二个绑定,我尝试了文本的其他绑定,例如:Valuethis[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]}" />

最新更新