【问题标题】:WPF ListVIew Grouping nameWPF ListVIew 分组名称
【发布时间】: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 处理绑定名称字符串的替换解决了这个问题。

How to replace strings in StringFormat in WPF Binding

【问题讨论】:

  • 太棒了!那你的问题是什么?
  • 我想将 ListView Header TextBlock Text 映射到“TypeName”,同时保持分组为“Type”。这可能吗?
  • 看起来您已正确设置。它不工作吗?
  • @JoelLucsy 不幸的是标题的文本是空的
  • 在调试中运行输出窗口时是否出现任何绑定错误?

标签: c# wpf listview


【解决方案1】:

回答我自己的问题

我通过使用 IValueConverter 处理绑定名称字符串的替换解决了这个问题。

How to replace strings in StringFormat in WPF Binding

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多