I am using Material Design and DataGridFilter
I am trying to apply the Material Design to the DataGridFilter Headers, and I am sort-of able to apply it by doing this;
<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>
However, that results in this;
The filter button "pushes" away the text and hides it.
My skills with styling are fairly limited.
How can I solve this? I have tried to simply make the header transparent without mixing in Material Design - but that resulted in the sorting indicator to disappear.
Turns out the solution was very simple
<Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource MaterialDesignDataGridColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
Credit goes to the author of DataGridFilter answered here.