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