【发布时间】:2015-09-26 10:41:03
【问题描述】:
我对 WPF 非常陌生,我正在使用 ListView 和 Grouping。
我试图实现的是按某种类型对项目进行分组,但在 ListView 标题上显示不同的名称。这将允许我拥有 2 个具有相同名称的不同组类型
这是我目前的代码
//.....Populate dummy items in a loop
items.Add(new Beds() { Name = "Bed " + counter, Type = i.ToString() , TypeName = "Test Name" });
//....
lvBeds.ItemsSource = items;
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(lvBeds.Items);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("Type");
view.GroupDescriptions.Add(groupDescription);
XAML
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock FontWeight="Bold" FontSize="20" Text="{Binding TypeName}" Background="Gray" Height="35"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
我想将 ListView Header TextBlock Text 映射到“TypeName”,同时保持分组为“Type”。这可能吗?
编辑:我通过使用 IValueConverter 处理绑定名称字符串的替换解决了这个问题。
【问题讨论】:
-
太棒了!那你的问题是什么?
-
我想将 ListView Header TextBlock Text 映射到“TypeName”,同时保持分组为“Type”。这可能吗?
-
看起来您已正确设置。它不工作吗?
-
@JoelLucsy 不幸的是标题的文本是空的
-
在调试中运行输出窗口时是否出现任何绑定错误?