2010-01-07 67 views
2

我有一个Dictionary<string, FieldDefinition>依赖项属性,当我将它绑定到WPF列表框时,我希望它只打印字符串(而不是FieldDefinition)。如何覆盖字典的ToString()

有没有办法做到这一点?

回答

3

我可以这里错了,但我认为你正在寻找Keys字典上的属性;这将返回TKey值的集合(在你的情况,你的字典里,没有FieldDefinition部分,顺带将通过Values物业提供的“字符串”部分)

<ListBox ItemsSource="{Binding MyDictionary.Keys}" /> 
2

从Dictionary中派生一个类,覆盖ToString()。

6

我将创建一个类,要么实现IDictionary的

public class CustomDictionary : IDictionary 
{ 
... 
} 

或继承字典

public class CustomDictionary : Dictionary<string, FieldDefinition> 
{ 
... 
} 

,并在这个类像这样覆盖ToString方法:

public override string ToString() 
    { 
    return "My custom string"; 
    } 
+1

这确实是正确的方法覆盖ToString,但不完全是OP所要求的。 IanR在那里是正确的。 – 2010-01-07 23:38:02

+0

好吧,这是问题的*标题*,但不是OP想要完成的实际事情...... – 2011-09-14 16:19:23