WPF ComboBox SelectionItemBox提示字符串

时间:2017-04-25 21:04:47

标签: c# wpf combobox

所以我在这个论坛上搜索但找不到anwser ......

我将我的组合框绑定到用户列表中。但是当我想输入它时,例如一个名字,一些奇怪的东西正在出现。

XAML代码:

 <ComboBox Name="UserLoginCmbBox" Width="100" IsEditable="True" SelectionChanged="UserLoginCmbBox_SelectionChanged">
          <ComboBox.ItemTemplate>
               <DataTemplate>
                    <TextBlock Text="{Binding Login}"/>
               </DataTemplate>
          </ComboBox.ItemTemplate>
 </ComboBox>

代码背后的代码:

var users = new List<User>{...} //initialization           
UserLoginCmbBox.ItemsSource = users;

当我在框中输入时,我可以得到的字符串是:

System.Data.Entity.DynamicProxies.User_FE59351B6479342209B496E7D3C3B877DDC51FE15279FFFEF899A5012F85FCBA

我发现这是ToString()方法返回的内容,但是如果我想在另一个ComboBox中使用相同的expamle列表,我想选择Name或其他什么呢?

如何修改SelectionItemBox?因为当我尝试使用SelectionItemBoxTemplate来编写我自己的模板时,发生了错误(SelectionItemBoxTemplate只有getter)。

1 个答案:

答案 0 :(得分:1)

尝试将DisplayMemberPath属性设置为“登录”:

<ComboBox Name="UserLoginCmbBox" Width="100" IsEditable="True" SelectionChanged="UserLoginCmbBox_SelectionChanged" DisplayMemberPath="Login" />