用于wpf中对象列表的DisplayMemberBinding
本文关键字:DisplayMemberBinding 列表 对象 wpf 用于 | 更新日期: 2023-09-27 18:06:28
我有一个listView,它显示了书名和第一作者:
<ListView.View>
<GridView>
<GridViewColumn Header="Name" Width="Auto" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="Author" Width="Auto" DisplayMemberBinding="{Binding Authors[0].Name}" />
</GridView>
</ListView.View>
但我需要显示不仅名称第一作者,但所有的作者在集合中以逗号分隔。这是我的模型:
public class Book : IModel
{
public Book()
{
Authors = new List<Author>();
Tags = new List<string>();
}
public string Name { get; set; }
public List<Author> Authors { get; set; }
public string ISBN { get; set; }
public int Pages { get; set; }
public List<string> Tags { get; set; }
public int PublicationYear { get; set; }
public PublicationHouse PublicationHouse { get; set; }
}
和XAML背后的代码:
public partial class BooksView : ListView
{
public BooksView()
{
InitializeComponent();
ItemsSource = FilesManager.books.Values;
}
}
创建一个单独的属性怎么样?
public string MyAuthors { get {return return String.Join(", ", Authors.ToArray());} }
我还建议实现INotifyPropertyChanged
以避免数据绑定中的进一步问题。