2016-06-06 5 views
0

Ich habe ein dynamisches Datagrid in WPF, das ich versuche, einen etwas dickeren schwarzen linken Rand für die erste Spalte in einer Gruppe hinzuzufügen.Formatierungsproblem mit DataGrid-Rahmen

Der Code, den ich dies tun müssen, ist:

DeltaStyle.Setters.Add(new Setter(GridCell.BorderBrushProperty, new SolidColorBrush(Colors.Black))); 
DeltaStyle.Setters.Add(new Setter(GridCell.BorderThicknessProperty, new Thickness(1,0.5,0.5,0.5))); 

Wo DeltaStyle ist die Spalten Stil, der in seiner Schöpfung verwendet wird.

Wenn es zeigt es wie folgt aussieht:

Grid example

Die formatierte Spalte ist der mit dem Header ‚b% F.‘

Wie Sie die anderen Grenzen sehen zu haben scheinen Farbe geändert und leicht versetzt. Die schwarze Grenze auf der linken Seite sieht ebenfalls etwas versetzt aus. Weiß jemand, warum das so ist?

Rob

Antwort

1

Der Standardgrenze des Datagridcell hat eine Dicke gleich 0 ist, diejenigen Separator graue Linien wahrscheinlich Teil der Kolonne selbst. Wenn Sie die Dicke auf 1 setzen, haben Sie das Ergebnis erlebt.

Um Ihr Fall so etwas wie dies zu lösen könnte funktionieren, eine negative Marge für die Zelle so eingestellt, dass es die Separatoren überlagert:

<Style TargetType="{x:Type DataGridCell}"> 
    <Setter Property="Margin" Value="-1,0,0,0" /> 
    <Setter Property="BorderThickness" Value="1,0,0,0" /> 
    <Setter Property="BorderBrush" Value="Black" /> 
</Style> 
+0

Nun, das war ärgerlich einfach ...! –

+0

@RobMarshm, ich nehme das als Kompliment! Froh, dass ich Helfen kann – Natxo