如何覆盖Dictionary的ToString()

时间:2010-01-07 22:29:20

标签: c# .net wpf dictionary tostring

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

有办法吗?

3 个答案:

答案 0 :(得分:6)

我会创建一个实现IDictionary

的类
public class CustomDictionary : IDictionary
{
...
}

或继承词典

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

并覆盖此类中的ToString方法,如下所示:

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

答案 1 :(得分:3)

我可能错了,在这里,但我认为你正在寻找字典上的Keys属性;这将返回TKey值的集合(在您的情况下,字典中的'字符串'部分,而不是FieldDefinition部分,偶然可以通过Values属性获得)

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

答案 2 :(得分:2)

从Dictionary派生一个类,重写ToString()。