在ListViews之间共享GroupStyle

问题描述

有没有一种方法可以在ListViews之间共享GroupStyle / Columns的代码。

我有一个适用于一个ListView的设置,但是由于我想要两个以上的相同样式,所以我不想复制代码,从而使文件混乱。再加上其中一个ListView的更改,可能会忘记复制到另一个。

我知道我可以在Window.Resources中使用样式,并且使它适用于列,但是无法进行分组。

我从ObservableCollection> ListCollectionView> ItemsSource加载了具有在PowerShell中绑定的项目,就像一个护身符。

可用于一个ListView的Xaml:

<ListView Grid.Row="1" Name="lvAllFiles">
    <ListView.View>
        <GridView>
            <GridViewColumn DisplayMemberBinding="{Binding Name}" Header="Name" Width="1000"/>
            <GridViewColumn DisplayMemberBinding="{Binding Created}" Header="Created" Width="100"/>
            <GridViewColumn DisplayMemberBinding="{Binding LastWriteTime}" Header="LastWriteTime" Width="100"/>
        </GridView>
    </ListView.View>
    <ListView.ItemContainerStyle>
        <Style TargetType="{x:Type ListViewItem}">
            <Setter Property="ToolTip" Value="{Binding TT}"/>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.GroupStyle>
        <GroupStyle>
            <GroupStyle.ContainerStyle>
                <Style TargetType="{x:Type GroupItem}">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Border BorderBrush="Gray" BorderThickness="1">
                                    <Expander IsExpanded="True">
                                        <Expander.Header>
                                            <TextBlock Text="{Binding Name}" Foreground="Gray" FontSize="14"/>
                                        </Expander.Header>
                                        <ItemsPresenter/>
                                    </Expander>
                                </Border>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </GroupStyle.ContainerStyle>
        </GroupStyle>
    </ListView.GroupStyle>
</ListView>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)