2011-04-30 22 views

回答

4

您是否试过去除testElement附近的引号?如果密钥是一个应该工作的字符串。

From MSDN

属性的

索引器可以下面的其中分度器应用属性名方括号内指定。例如,子句Path = ShoppingCart [0]将绑定设置为与您的属性的内部索引处理文本字符串“0”的方式相对应的索引。多个索引器也被支持。

[...]

内部索引你可以用逗号分隔的多个索引参数(,)。每个参数的类型可以用圆括号指定。例如,您可以使Path =“[(sys:Int32)42,(sys:Int32)24]”,其中sys映射到System命名空间。

+0

哇!这样可行。我有点惊讶。而如果密钥不是字符串。如果它是枚举呢? – Poma 2011-04-30 19:16:58

+0

与枚举一起作为关键,测试了这一点。 – 2011-04-30 19:24:48

+0

谢谢!首先,我尝试使用像'myEnum.val1'或'local:myEnum.val1'这样的完全限定值的枚举,但失败了,但现在我发现我必须使用'val1'。 – Poma 2011-04-30 19:38:40

2

最好的方法是使用派生自IValueConvertor类。你绑定到字典本身,并设置ConverterParameter ='testElement',在你的转换器中你既可以获得字典,又可以获得所需的密钥。