将 Material Design 应用于 WPF 项目上的 FilterDataGrid

问题描述 投票:0回答:1

我正在使用Material DesignDataGridFilter

我正在尝试将 Material Design 应用到 DataGridFilter 标头,并且我可以通过这样做来应用它;

            <fdg:FilterDataGrid x:Name="MainDataGrid" Grid.Row="0" AutoGenerateColumns="False" IsReadOnly="True" SelectionChanged="DataGrid_SelectionChanged" SelectionMode="Single" ItemsSource="{Binding LoadedNcrs}" FilterPopupBackground="White" Style="{StaticResource FilterDatagridStyle}">
                <fdg:FilterDataGrid.Resources>
                    <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource MaterialDesignDataGridColumnHeader}" />
                </fdg:FilterDataGrid.Resources>
                <fdg:FilterDataGrid.Columns>
                    <fdg:DataGridTextColumn Header="Record ID" Binding="{Binding ID, Mode=OneWay}" SortDirection="Descending" IsColumnFiltered="True" />
                    <fdg:DataGridTextColumn Header="Status" Binding="{Binding Status, Mode=OneWay}" IsColumnFiltered="True" />
                    <fdg:DataGridTextColumn Header="Client" Binding="{Binding ClientCode, Mode=OneWay}" IsColumnFiltered="True" />
                    <fdg:DataGridTextColumn Header="Order Number" Binding="{Binding OrderNumber, Mode=OneWay}" IsColumnFiltered="True" />
                    <fdg:DataGridTextColumn Header="Raised By" Binding="{Binding RaisedBy, Mode=OneWay}"  IsColumnFiltered="True" />
                    <fdg:DataGridTextColumn Header="Raised On" Binding="{Binding DateRaised, Mode=OneWay}" IsColumnFiltered="True" />
                </fdg:FilterDataGrid.Columns>
            </fdg:FilterDataGrid>

但是,结果是这样的;

过滤器按钮“推”开文本并隐藏它。

我已经被困了几个小时试图解决这个问题,但无济于事。我的造型技能还相当有限。

有什么想法可以解决这个问题吗? 我尝试简单地使标题透明,而不混合材料设计 - 但这导致排序指示器消失。

wpf xaml
1个回答
0
投票

事实证明解决方案非常简单

<Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource MaterialDesignDataGridColumnHeader}">
 <Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>

感谢 DataGridFilter 的作者在here回答。

© www.soinside.com 2019 - 2024. All rights reserved.