我正在使用Material Design和DataGridFilter
我正在尝试将 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>
但是,结果是这样的;
过滤器按钮“推”开文本并隐藏它。
我已经被困了几个小时试图解决这个问题,但无济于事。我的造型技能还相当有限。
有什么想法可以解决这个问题吗? 我尝试简单地使标题透明,而不混合材料设计 - 但这导致排序指示器消失。
事实证明解决方案非常简单
<Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource MaterialDesignDataGridColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
感谢 DataGridFilter 的作者在here回答。