WPF: Selected Row Farbe ändern
Wie kann man die Selected-Zeile eines Datengrid in der Farbe ändern?
Lösung
Hierzu kann man über einen Style die DataGridRow anpassen.
Dann wählt man den Trigger auf IsSelected und kann die Background-Farbe auf die gewählte Farbe wählen
<DataGrid SelectionMode="Single" SelectionUnit="FullRow"> <DataGrid.RowStyle> <Style TargetType="DataGridRow"> <Style.Triggers> <Trigger Property="IsSelected" Value="True"> <Setter Property="Background" Value="Blue"/> </Trigger> </Style.Triggers> </Style> </DataGrid.RowStyle> </DataGrid> |
Komplettes WPF XAML Grid
<DataGrid x:Name="ctlDataGrid" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" AutoGenerateColumns="False" GridLinesVisibility="All" Background="#F0f0f0" SelectionMode="Single" IsReadOnly="True" MouseDoubleClick="ctlDataGrid_MouseDoubleClick" SelectionChanged="CtlDataGrid_SelectionChanged" HeadersVisibility="All" Grid.Row="1" SelectionUnit="FullRow" > <DataGrid.RowStyle> <Style TargetType="DataGridRow">
<Style.Triggers> <Trigger Property="IsSelected" Value="True"> <Setter Property="Background" Value="Blue"/> </Trigger> </Style.Triggers> </Style> </DataGrid.RowStyle>
<DataGrid.Columns> <DataGridTextColumn Header="ID" Binding="{Binding IDFeiertag}"/> <DataGridTextColumn Header="Datum" Binding="{Binding Datum_Feiertag}" Width="90"/> <DataGridTextColumn Header="Feiertag" Binding="{Binding Feiertag}" Width="140"/> <DataGridTextColumn Header="Kurz" Binding="{Binding Kurz}"> <DataGridTextColumn.CellStyle> <Style TargetType="DataGridCell"> <Setter Property="Background" Value="{Binding Farbe}" /> <Setter Property="Foreground" Value="{Binding Textfarbe}" /> </Style> </DataGridTextColumn.CellStyle> </DataGridTextColumn>
</DataGrid.Columns> </DataGrid>
|