【发布时间】:2020-05-01 15:48:43
【问题描述】:
我遇到了以下问题:
问题: ComboBoxItems 显示完美,但在选择项目时显示整个对象。
1.点击组合框: ComboBoxItems 完美显示
2。选择了一个 ComboBoxitem: 显示整个 Entity Framework 对象,而不仅仅是项目名称。
以下是选择 ComboBoxItem 时显示的示例: System.Data.Entity.DynamicProxies.tblContainer_C0BE4F13C798ED380A1E249BFB338D265E97D4F4C7A880C5D813102738561025
期望的结果: Bout verre bouchon emery
这是我的代码的缩小版:
<ComboBox IsEditable = "True" ItemsSource="{Binding ProductsContainer}" SelectedValuePath="ContainerID">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock
FontSize="15"
Width="100"
HorizontalAlignment="Center"
Text="{Binding ContainerName}"
TextWrapping="Wrap" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
这是 ComboBox 绑定的列表:
public virtual List<tblContainer> ProductsContainer { get { return db.tblContainer.ToList(); } }
ProductsContainer 具有以下属性:ContainerID 和 ContainerName
【问题讨论】:
-
添加类 tblContainer 的代码或至少为您的示例工作所需的最少代码。
-
您可能不想将 IsEditable 设置为 true。然后不应用 ItemTemplate。参见例如这里:stackoverflow.com/q/27636357/1136211
标签: c# wpf entity-framework mvvm combobox