C#XAML网格扩展器

时间:2016-09-15 15:29:29

标签: c# wpf xaml

一些新的WPF项目和xaml实在令人困惑。

我有一个显示分组ListCollectionView的数据网格,我希望有一个单击按钮,以便分组视图可以折叠。它似乎是一个很容易实现的功能,但在过去的一天到处搜索没有一个例子可以解决这个问题(也许这太容易了?)

以下是我的XAML的代码

 <Window.Resources>
    <Style x:Key="GroupHeaderStyle" TargetType = "{x:Type GroupItem}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type GroupItem}">
                    <Expander x:Name="myExpander" IsExpanded="True"
                              Background="LightBlue"
                              Foreground="Black">
                        <ItemsPresenter />
                    </Expander>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

并在mainwindow.xaml.cs

            ListCollectionView collection = new ListCollectionView(dt.DefaultView);
        collection.GroupDescriptions.Add(new PropertyGroupDescription("Grouping"));

        dataGrid1.ItemsSource = collection;

请帮忙。非常感谢你们。

1 个答案:

答案 0 :(得分:0)

您想覆盖/设置GroupStyle。但是你的示例代码看起来还不错 - 所以也许我只是不明白你的问题是什么。

 <ItemsControl>
            <ItemsControl.GroupStyle>
                <GroupStyle>
                    <GroupStyle.ContainerStyle>
                        <Style TargetType="{x:Type GroupItem}">
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="{x:Type GroupItem}">
                                        <Expander IsExpanded="true" Header="Yolo">
                                            <ItemsPresenter />
                                        </Expander>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </GroupStyle.ContainerStyle>
                </GroupStyle>
            </ItemsControl.GroupStyle>
        </ItemsControl>

如果您不想要的话,请添加附加信息!