所以我在这个论坛上搜索但找不到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)。
答案 0 :(得分:1)
尝试将DisplayMemberPath
属性设置为“登录”:
<ComboBox Name="UserLoginCmbBox" Width="100" IsEditable="True" SelectionChanged="UserLoginCmbBox_SelectionChanged" DisplayMemberPath="Login" />