使用哈希表作为数据上下文(用于WPF/XAML绑定)

使用哈希表作为数据上下文(用于WPF/XAML绑定),wpf,xaml,binding,hashtable,datacontext,Wpf,Xaml,Binding,Hashtable,Datacontext,在代码中,我有一个名为MyHashtable的哈希表。此哈希表包含一个元素,其键为“”值“,值为“3”。我当前正在尝试将此值绑定到文本框。这是我的XAML代码: <TextBlock Margin="4" Text="{Binding MyHashtable[Value]}" /> <TextBlock Margin="4" DataContext="{Binding MyHashtable}" Text="{Binding [Value]}" /> Q:为什么第二

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

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

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

对于第二个绑定,我尝试了文本的其他绑定,例如:
Value
this[Value]
甚至
Me[Value]
,但它们都不起作用


使用
Item[Value]
给了我一个有趣的异常:
参数计数不匹配。

有人明白吗?这是因为C#和VB.NET之间存在差异。请参阅。

第二个选项,您可以使用以下选项:



尝试使用DataContext[Value]进行第二个绑定。我认为DataContext的要点是,您不需要在任何进一步的绑定中引用
MyHashtable
?无论如何,我尝试了它,但它也不起作用。错误是在哈希表类型中找不到属性“Item”,这是true。trye specifying Text=“{Binding Path=[Value]}。如果它不工作,则仅为了debugging@LuisFilipe,告诉我,为什么它找不到?相信我,我正在测试所有可能的场景与硬编码的值。:)顺便说一句,添加
Path=
通常不会有任何区别。