Das ist nicht wirklich der beste Weg ist, den Hintergrund eines DataGridRow
zu ändern - Sie Style
von @ David Danielewicz wie vorgeschlagen verwenden sollten - aber für den aktuellen Ansatz zu arbeiten, sollten Sie das Objekt geworfen, das von dem Verfahren zu einem System .Windows.Controls.DataGridRow.
Sie sollten auch die ContainerFromIndex
Methode verwenden, um einen Verweis auf den visuellen Behälter für das vierte Element zu erhalten. Das dritte Element hat einen Index von 2.
Try this:
var row = datagrid.ItemContainerGenerator.ContainerFromIndex(2) as System.Windows.Controls.DataGridRow;
row.Background = Brushes.Blue;
auch beachten, dass dies funktioniert, müssen Sie warten, bis die Behälter tatsächlich geschaffen:
datagrid.Loaded += (ss, ee) =>
{
var row = datagrid.ItemContainerGenerator.ContainerFromIndex(2) as System.Windows.Controls.DataGridRow;
row.Background = Brushes.Blue;
};
Das ist WPF, oder? –
ja, es ist ....... –
Hängt die Hintergrundfarbe von einer Eigenschaft oder etwas anderem ab? Sie könnten es mit Stilen ausprobieren. –