当选择 ComboBoxItems 时,显示对象而不是属性。

问题描述 投票:0回答:1

我遇到了以下问题。

ISSUE.ComboBoxItems ComboBoxItems完美地显示,但当项目被选中时却显示整个对象。

1. 点击comboBox。 ComboBoxItems完美显示

enter image description here

2. 选定一个ComboBoxitem。 整个实体框架对象被显示,而不是仅仅显示项目名称。

enter image description here

下面是一个例子,当一个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容器名称

c# wpf entity-framework mvvm combobox
1个回答
1
投票

似乎工作时 IsTextSearchEnabled="True"TextSearch.TextPath="ContainerName" 是用。

<ComboBox IsEditable="True" ItemsSource="{Binding ProductsContainer}" SelectedValuePath="ContainerID" 
          IsTextSearchEnabled="True" TextSearch.TextPath="ContainerName">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock 
                    FontSize="15"
                    Width="100"
                    HorizontalAlignment="Center"
                    Text="{Binding ContainerName}" 
                    TextWrapping="Wrap" />
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>
© www.soinside.com 2019 - 2024. All rights reserved.