用于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;
        }
    }

用于wpf中对象列表的DisplayMemberBinding

创建一个单独的属性怎么样?

 public string MyAuthors { get {return return String.Join(", ", Authors.ToArray());} }

我还建议实现INotifyPropertyChanged以避免数据绑定中的进一步问题。

相关文章:
  • 没有找到相关文章