我有一个列表,其中包含我想在ComboBox中显示的项目,但结果是我看不到文本但是这样:
App1.Data.Models.Test
App1.Data.Models.Test
App1.Data.Models.Test
我真的不知道如何显示正确的文字。
模型Test有2个属性ID和名称。
<ComboBox Grid.Column="1"
Grid.Row="3"
Margin="10"
ItemsSource="{Binding TestList}" />
我是否需要像ListView一样使用DataTemplate?
答案 0 :(得分:2)
ComboBox
使用其项目的ToString()
方法来显示它们。
覆盖App1.Data.Models.Test.ToString()
,或选择要显示的App1.Data.Models.Test
的特定媒体资源,让我们说Name
:
<ComboBox
Grid.Column="1"
Grid.Row="3"
Margin="10"
ItemsSource="{Binding TestList}"
DisplayMemberPath="Name" />
答案 1 :(得分:1)
您需要定义App1.Data.Models.Test
要DisplayMemberPath
显示的属性。ToString()
。
或者覆盖<ComboBox Grid.Column="1"
Grid.Row="3"
Margin="10"
DisplayMemberPath = "Name"
ItemsSource="{Binding TestList}" />
var democart= angular.copy($rootScope.cart);
var cartCopy = democart;