Zellhintergrund reagiert nicht auf Style

  • WPF

    Zellhintergrund reagiert nicht auf Style

    Hallo zusammen!

    Warum lässt sich in einem Style z.B. Vordergrund und Position des Textblocks einer Zelle ändern, nicht aber der Hintergrund?

    XML-Quellcode

    1. <Grid.Resources>
    2. <Style TargetType="DataGridCell" >
    3. <Setter Property="TextBlock.Background" Value="Black"/>
    4. <Setter Property="TextBlock.Foreground" Value="red"/>
    5. <Setter Property="TextBlock.HorizontalAlignment" Value="Stretch"/>
    6. </Style>
    7. <Style TargetType="DataGridRow" >
    8. <Setter Property="TextBlock.Background" Value="Black"/>
    9. </Style>
    10. </Grid.Resources>


    Die gezeigten Einstellungen funktionieren grundsätzlich. Der Hintergrund reagiert aber nicht. Daher hab ich's dann mit dem Style für die "DataGridRow" probiert, aber auch dann keine Änderung.
    Es geht darum, die Standarddarstellung einer markierten Zeile zu ändern. Normal: Blauer Hintergrund und weisse Schrift für alle Zellen.
    Gewünscht: Hintergrund "AliceBlue" und weisse Schrift, Die aktive Zelle soll wieder den ursprünglichen blauen Hintergrund vund weisse Schrift haben.

    Edit:
    Scheinbar ist es falsch auf den Background des Textblocks zuzugreifen. Man muss wohl den Background der Zelle setzen.

    XML-Quellcode

    1. <Style TargetType="{x:Type DataGridCell}">
    2. <Setter Property="TextBlock.HorizontalAlignment" Value="Stretch"/>
    3. <Style.Triggers>
    4. <Trigger Property="IsSelected" Value="True">
    5. <Setter Property="Background" Value="DeepSkyBlue"/>
    6. </Trigger>
    7. <Trigger Property="IsFocused" Value="True">
    8. <Setter Property="Background" Value="blue"/>
    9. </Trigger>
    10. </Style.Triggers>
    11. </Style>


    Finde das etwas verwirrend, weil der Textblock ja die Zelle "überlagert". EinBackground für die ganze Row ist nämlich nur dann sichtbar, wenn der Textblock nicht gestreckt, sondern kleiner als die Zelle ist. Aber bitte...
    Etwas stört mich aber noch; für "enabled" sollte es statt "blue" die original Hintergrundfarbe einer mekierten Zelle sein. Habe alle blautöne aus der Liste probiert, aber es passt keiner. Wie bekommt man das nun wieder hin?

    Gruß
    eddi

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „eichseinet“ ()