Wie ändern Sie WPF DataGrid-Zelle hintergrund, während die Bearbeitung der Zelle?
Folgende ist ein Beispiel, wie der hintergrund, wenn die Zelle ausgewählt, aber wenn ich tatsächlich klicken Sie in die Zelle, um ihn zu Bearbeiten, die Farbe ändert. Gibt es eine trigger-Eigenschaft, wenn eine Zelle bearbeitet wird? Ich möchte den hintergrund nicht ändern.
<DataGrid Name="DG1" ItemsSource="{Binding}" SelectionUnit="Cell" >
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="SeaGreen"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
</DataGrid>
Beantwortung meiner eigenen Frage, es sieht aus wie die Zelle die Hintergrundfarbe auf der Grundlage von SystemColors.WindowBrushKey
. Übergeordnete Ressource wie <SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="Red" />
hat den trick.
`
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie fügen Sie ein anderes trigger-in Ihren bestehenden Stil für die
IsEditing
Zustand. Dann legen Sie dieControlTemplate
für dieDataGridCell
im inneren des triggers.Dieser arbeitet mit DataGridTemplateColumn sowie andere Arten wie DataGridTextColumn, DataGridCheckboxColumn und etc.: