Wie kann ich in WPF diese Weißen Felder entfernen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

1) Du hast einen Style für die DataGridRowHeader vergessen. Entweder setzt du die Breite auf 0:

<DataGrid RowHeaderWidth="0" ...

oder du färbst sie ebenfalls um.

<Style TargetType="{x:Type DataGridRowHeader}">
  <Setter Property="Background" Value="#20262E" />
</Style>

2) Die horizontalen weißen Linien entstehen durch die Lücken, die dein Margin je DataGridCell aufreißt.

<Setter Property="Margin" Value="0 5 0 0" />

Wenn dir da etwas spezielles vorschwebt, z.B. ein oberer Rand mit individueller Farbe, wäre es vermutlich einfacher, ein neues Template für die Zellen anzulegen.

<!-- as resource ... -->
<DataTemplate x:Key="MyCellTemplate">
  <StackPanel>
    <Border ... /> <!-- border top -->
    <Border ...> <!-- cell border -->
      <TextBlock Text="{Binding Path=DataContext.Property, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
    </Border>
  </StackPanel>
</DataTemplate>

Verwendung:

<DataGridTemplateColumn CellTemplate="{StaticResource MyCellTemplate}" />