首页 > 解决方案 > DataGrid Grouping - 获取每个组的行

问题描述

我正在为我的数据使用 DataGrig 分组。在我的组标题中,我使用复选框进行 ColumnCheckBox 单元格检查,因为我必须为每个组提供行数据。

XAML:

<DataGrid.GroupStyle>
    <GroupStyle>
        <GroupStyle.ContainerStyle>
            <Style TargetType="{x:Type GroupItem}">
                <Setter Property="Margin" Value="0,0,0,1"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type GroupItem}">
                            <Expander IsExpanded="True">
                                <Expander.Header>
                                    <DockPanel>
                                        <TextBlock FontWeight="Bold" Text="{Binding Path=ItemCount, StringFormat=({0})}"/>
                                        <TextBlock FontWeight="Bold" Text="{Binding Path=Name}"/>
                                    </DockPanel>
                                </Expander.Header>
                                <Expander.Content>
                                    <ItemsPresenter/>
                                </Expander.Content>
                            </Expander>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </GroupStyle.ContainerStyle>
    </GroupStyle>
</DataGrid.GroupStyle>

CS:

Instances = new ListCollectionView(types);
Instances.GroupDescriptions.Add(new PropertyGroupDescription("View"));
Instances.GroupDescriptions.Add(new PropertyGroupDescription("Category"));
Instances.GroupDescriptions.Add(new PropertyGroupDescription("Family"));

因此,一个想法是将标题复选框与每行的 Id 数组绑定,并在标题检查时更改绑定的 CheckColumn 值。但为此我需要收集所有组行。是否可以实施?

所以我有:https ://i.ibb.co/7g9GpqL/p1.png

我需要:https ://i.ibb.co/WW7S4cn/p2.png

标签: c#wpfdatagridgrouping

解决方案


推荐阅读