Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF中数据网格的分组和非分组之间切换_C#_Wpf_Datagrid_Toggle_Groupstyle - Fatal编程技术网

C# 在WPF中数据网格的分组和非分组之间切换

C# 在WPF中数据网格的分组和非分组之间切换,c#,wpf,datagrid,toggle,groupstyle,C#,Wpf,Datagrid,Toggle,Groupstyle,我目前已经用一定数量的行填充了datagrid,并根据部门对行进行了分组。 因此,在我的输出中,我只能看到“基于部门的分组数据网格” 是否可以在datagrid行的分组和非分组之间切换 例如:如果用户不想查看基于组的记录,他将单击radiobutton,datagrid将填充行而不分组,反之亦然 提前谢谢 下面是DataGrid.GroupStyle中的示例代码: <DataGrid.GroupStyle> <GroupStyle

我目前已经用一定数量的行填充了datagrid,并根据部门对行进行了分组。 因此,在我的输出中,我只能看到“基于部门的分组数据网格”

是否可以在datagrid行的分组和非分组之间切换

例如:如果用户不想查看基于组的记录,他将单击radiobutton,datagrid将填充行而不分组,反之亦然

提前谢谢

下面是DataGrid.GroupStyle中的示例代码:

            <DataGrid.GroupStyle>
            <GroupStyle>
                <GroupStyle.HeaderTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="{Binding Path=Name}"/>
                        </StackPanel>
                    </DataTemplate>
                </GroupStyle.HeaderTemplate>
                <GroupStyle.ContainerStyle>
                    <Style TargetType="{x:Type GroupItem}">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type GroupItem}">
                                    <Expander Margin="15 0 0 0" IsExpanded="True">
                                        <Expander.Header>
                                            <StackPanel Orientation="Horizontal">
                                                <TextBlock  Foreground="white" Text="{Binding Path=emp}" FontWeight="Bold" Margin="5 0 0 0"/>
                                                <TextBlock  Foreground="white" Text="{Binding Path=empCount}" Margin="10 0 3 0"/>
                                                <TextBlock  Foreground="white" Text="emps"/>
                                            </StackPanel>
                                        </Expander.Header>
                                        <ItemsPresenter />
                                    </Expander>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </GroupStyle.ContainerStyle>
            </GroupStyle>
        </DataGrid.GroupStyle>

如果这是旧的,很抱歉,但我还是回答一下为好

需要进行的编辑不在GroupStyle中,而是在ViewModel的代码中。您可能会将listview ItemSource绑定到ObservableCollection。在内部创建了集合的视图,而此collectionView实际上是绑定到ListView的视图。您可以通过以下方式显式获取该视图:

public-observeCollection-HeldCollection{get;set;}
#视图的区域属性
CollectionView_HeldView;
公共集合视图HeldView
{
得到
{
如果(_HeldView==null)
{
_HeldView=(CollectionView)CollectionViewSource.GetDefaultView(HeldCollection);
//_HeldView.GroupDescription.Add(GroupDescription);
}
返回HeldView;
}
}

然后,您可以编辑GroupDescription,因为它是CollectionView的属性,例如响应按钮切换。

是,这是可能的。基于切换清除或添加GroupDescriptions。我的示例代码没有任何GroupDescriptions。那么我该怎么做呢?那就使用组描述吧。