如何在绑定ItemsSource的ListBox中显示子元素的属性?
本文关键字:显示 元素 属性 ListBox 绑定 ItemsSource | 更新日期: 2023-09-27 18:07:10
我不明白,考虑下面的代码:
<ListBox Width="200"
ItemsSource="{Binding CurrentArticle.ArticleCategories}"
DisplayMemberPath="{Binding Category.Name}">
</ListBox>
ArticleCategories
是我的数据库中包含2个外键的表,1到Article
, 1到Categories
,因此ArticleCategories
是包含Articles
和Categories
的列表。
我想显示当前文章(CurrentArticle
)在这个列表框中有哪些类别,我不知道如何这样做。我想为ListBox
中的每个Category
显示Category.Name
。
现在,列表框显示"Data"。ArticleCategory"因为它不知道如何显示。
我试过DisplayMemberPath="Category.Name"
,但没有成功。
我需要使用某种类型的数据模板,如果是,如何?
谢谢。
DisplayMemberPath不是添加绑定的字段,它只是给定Item上的属性名称。DisplayMemberPath="Name"
应该足够了
你不需要绑定:
DisplayMemberPath="Category.Name"
编辑:既然你将ItemsSource
绑定到CurrentArticle.ArticleCategories
,我假设你的列表框的项目是Category
类型的对象?在这种情况下,路径应该只是"Name",而不是"Category.Name"。
您可以设置列表框。ItemTemplate加上一个你喜欢的数据模板:http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.itemtemplate.aspx