poszedłem z tego: WPF GridViewHeader styling questionsJak stylować nagłówek GridView WPF?
do tego:
Teraz wystarczy, aby pozbyć się białego miejsca na prawo od „wielkości” cel. Zasadniczo mam szablon dla GridViewColumnHeader, który czyni go TextBlock. Czy jest jakiś sposób ustawić tło dla tego obszaru nagłówka tak, aby obejmował całą szerokość GridView?
Kod:
To mój najbardziej po prawej kolumnie. Siatka nie obejmuje 100% dostępnego obszaru okna. W nagłówku potrzebuję wszystkiego po prawej stronie tej kolumny, aby mieć to samo tło, co nagłówki kolumn.
<Style x:Key="GridHeaderRight" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
<TextBlock Text="{TemplateBinding Content}" Padding="5" Width="{TemplateBinding Width}" TextAlignment="Right">
<TextBlock.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0.0" Color="#373638" />
<GradientStop Offset="1.0" Color="#77797B" />
</LinearGradientBrush>
</TextBlock.Background>
</TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Background" Value="Green" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="12" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0.0" Color="#373638" />
<GradientStop Offset="1.0" Color="#77797B" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
<GridViewColumn Width="200" HeaderContainerStyle="{ StaticResource GridHeaderRight}" Header="Size">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=EmployeeNumber}" HorizontalAlignment="Right"></TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
UPDATE
jestem o krok bliżej (chyba) do rozwiązywania tego.
I dodaje następujący kod wewnątrz tagu GridView:
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="GridViewColumnHeader">
<Setter Property="BorderThickness" Value="1"></Setter>
<Setter Property="BorderBrush" Value="Green"></Setter>
<Setter Property="Height" Value="Auto"></Setter>
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0.0" Color="#373638" />
<GradientStop Offset="1.0" Color="#77797B" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</GridView.ColumnHeaderContainerStyle>
Granica jest tam tylko tak można zobaczyć granicę, co obejmuje ten styl. Jest to powiększony obraz tego, co robi. Wygląda na to, co chcę, jeśli mogę pozbyć się małej białej granicy na dole.
Więc domyślam się, że usunięcie tego małego białego dolnego brzegu byłoby również akceptowaną odpowiedzią dla tego.
Prawdopodobnie pomóc odpowiedzieć istniejącego kodu/XAML. –
Dodałem teraz kod. – djschwartz