如何覆盖字典的ToString()
问题描述:
我有一个Dictionary<string, FieldDefinition>
依赖项属性,当我将它绑定到WPF列表框时,我希望它只打印字符串(而不是FieldDefinition)。如何覆盖字典的ToString()
有没有办法做到这一点?
答
我可以这里错了,但我认为你正在寻找Keys
字典上的属性;这将返回TKey
值的集合(在你的情况,你的字典里,没有FieldDefinition部分,顺带将通过Values
物业提供的“字符串”部分)
<ListBox ItemsSource="{Binding MyDictionary.Keys}" />
答
从Dictionary中派生一个类,覆盖ToString()。
答
我将创建一个类,要么实现IDictionary的
public class CustomDictionary : IDictionary
{
...
}
或继承字典
public class CustomDictionary : Dictionary<string, FieldDefinition>
{
...
}
,并在这个类像这样覆盖ToString
方法:
public override string ToString()
{
return "My custom string";
}
这确实是正确的方法覆盖ToString,但不完全是OP所要求的。 IanR在那里是正确的。 – 2010-01-07 23:38:02
好吧,这是问题的*标题*,但不是OP想要完成的实际事情...... – 2011-09-14 16:19:23