如何重写字典的 ToString()

发布于 2024-08-17 00:40:35 字数 147 浏览 4 评论 0原文

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

有办法做到这一点吗?

I have a Dictionary<string, FieldDefinition> dependency property that when I bind it to a WPF list box I want it to just print the string (not the FieldDefinition).

Is there a way to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不知在何时 2024-08-24 00:40:35

我将创建一个实现 IDictionary

public class CustomDictionary : IDictionary
{
...
}

或继承 Dictionary 的

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

类,并重写该类中的 ToString 方法,如下所示:

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

I would create a class that either implements IDictionary

public class CustomDictionary : IDictionary
{
...
}

or inherits Dictionary

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

and override the ToString method in this class like this:

public override string ToString() 
  {
     return "My custom string";
  }
南街女流氓 2024-08-24 00:40:35

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

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

I could be wrong, here, but I think you are looking for the Keys property on the dictionary; this will return a collection of TKey values (in your case, the 'string' part of your dictionary, not the FieldDefinition part, which incidentally would be available via the Values Property)

<ListBox ItemsSource="{Binding MyDictionary.Keys}" />
甜妞爱困 2024-08-24 00:40:35

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

Derive a class from Dictionary, override ToString().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文