我有一个简单的结构
private struct _config
{
public string name;
public int id;
}
我想将它添加到组合框中,但将名称显示为组合框中的显示名称。有谁知道怎么做?
答案 0 :(得分:2)
Data binding和templating,您需要属性而不是字段。
(因为你只想要文字,你可以放弃模板并使用DisplayMemberPath
)
答案 1 :(得分:2)
我强烈建议您阅读HB发布的链接,但是这里是您希望努力的代码:
将您的ComboBox项目更改为获取/设置访问者方法:
private struct Config
{
public string Name { get; set; }
public int Id { get; set; }
}
然后你的ComboBox XAML看起来应该是这样的
<ComboBox x:Name="MyComboBox" DisplayMemberPath="Name" />
答案 2 :(得分:1)
ComboBox
,在其他任何东西的缺席中,只使用ToString()
方法将您放入.Items
的任何内容显示出来。因此,快速而肮脏的方法只是覆盖结构的ToString()
方法以返回名称,即
private struct _config
{
public string name;
public int id;
public override string ToString()
{
return name;
}
}