【发布时间】:2013-01-14 05:31:58
【问题描述】:
我有一些 wpf 组合框 (xaml):
<ComboBox ItemsSource="{Binding Path=NonPositionedConcentrators}"
SelectedValue="{Binding Path=SelectedNonPositionedConcentrator}"
DisplayMemberPath="SerialNumber" />
SelectedNonPositionedConcentrator - 是集中器类型。比如:
class Concentrator
{
...
public string SerialNumber {...}
...
public override ToString{ return "Some needed text..."; }
}
NonPositionedConcentrators - 集中器对象列表。
因此,在应用程序中,我看到带有 NonPositionedConcentrators 序列号的组合框(因为 DisplayMemberPath="SerialNumber"),但是当我选择某些东西时,选择的项目显示为 "Some needed text...",见图:
我已经尝试过 SelectedValuePath="SerialNumber",但它不起作用...
我不能删除这个 - public override ToString{ return "Some needed text..."; },因为我需要......
【问题讨论】:
-
尝试使用带有 TextBlock 的 ItemTemplate:
<ComboBox.ItemTemplate><DataTemplate><TextBlock Text="{Binding Path=SerialNumber}"/></DataTemplate></ComboBox.ItemTemplate> -
其实我试过了,但是情况一样...(((
-
public override ToString{ return "Some needed text..."; }为什么需要这个?我们可能会提供更好的解决方案,因为我只会在我希望它像那样显示时覆盖它......
标签: wpf xaml combobox selecteditem selectedvalue