DisplayMemberBinding用于wpf中的对象列表

时间:2016-09-11 07:56:37

标签: c# wpf

我有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;
        }
    }

1 个答案:

答案 0 :(得分:0)

如何制作单独的财产?

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

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