【问题标题】:How do I bind a WPF ListView to a property of each element in a list?如何将 WPF ListView 绑定到列表中每个元素的属性?
【发布时间】:2014-04-07 14:52:38
【问题描述】:
我的 ListView 上有以下绑定,效果很好:
<ListView ItemsSource="{Binding Filters}" Margin="5" Name="FiltersList" Height="100"/>
Filters 实际上是List<LogFilter> 的一种类型。 LogFilter 上有一个名为 Title 的属性。我想在我的 ListView 的过滤器列表中显示每个元素的标题。这可能吗? ItemsSource="{Binding Filters.Title}" 之类的东西?
【问题讨论】:
标签:
c#
wpf
listview
binding
itemssource
【解决方案1】:
在我看来,您根本不需要使用ListView。满足您的需求 ListBox 和 DisplayMemberPath 就足够了:
<ListBox ItemsSource="{Binding Filters}" DisplayMemberPath="Title"/>
【解决方案2】:
只需设置ItemTemplate 即可显示标题:
<ListView ItemsSource="{Binding Filters}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}"></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>