2

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

有没有办法做到这一点?

4

3 回答 3

7

我会创建一个实现 IDictionary 的类

public class CustomDictionary : IDictionary
{
...
}

或继承字典

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

并像这样覆盖此类中的ToString方法:

public override string ToString() 
  {
     return "My custom string";
  }
于 2010-01-07T22:34:06.910 回答
3

在这里我可能是错的,但我认为您正在寻找Keys字典上的属性;这将返回一个值的集合TKey(在您的情况下,您的字典的“字符串”部分,而不是 FieldDefinition 部分,顺便说一句,可以通过Values属性获得)

<ListBox ItemsSource="{Binding MyDictionary.Keys}" />
于 2010-01-07T23:31:21.730 回答
2

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

于 2010-01-07T22:33:36.457 回答