我正在使用silverlight框架4:我正在尝试将通用列表中的项目列表到列表框控件:但是接收的唯一数据就是类名本身。
lsBox =>列表框控件 lsTags =>泛型
我的问题是:如何将我在通用列表中的项目添加到列表框控件?
我的代码是:
lsBox.ItemsSource = lsTags;
答案 0 :(得分:2)
您可以使用DisplayMemberPath
控件的SelectedValuePath
和ListBox
属性告诉ListBox应为每个项显示哪个属性的值,以及应该使用哪个属性来确定ListBox.SelectedValue
属性。或者使用ListBox.ItemTemplate
显示如下的复杂数据:
<ListBox x:Name="usersInGroupLBox">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsActive, Mode=TwoWay}" />
<TextBlock Text="{Binding User.UserName}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
不要忘记,您只能使用公共属性进行绑定。检查你上课Tag
。
答案 1 :(得分:0)
显示用户类型的ListBox
(以及大多数其他控件)的默认行为是调用ToString()
方法。默认行为是显示类名。
你应该做什么取决于你想要显示什么,但如果它像显示Name
属性的值那样简单,只需设置DisplayMemberPath
property:
<ListBox Name="lsBox" DisplayMemberPath="Name" />