Entwickler-Ecke

WPF / Silverlight - ListBox-Style


DrHoas - Di 16.02.16 19:41
Titel: ListBox-Style
Hallo,

ich habe hier eine Möglichkeit gefunden, die Schriftfarbe und die Farbe des Hintergrund eines ausgewählten Items einer Listbox zu ändern:
http://stackoverflow.com/questions/793937/wpf-listview-inactive-selection-color-and-element-font-color
Kann man das in einen Style packen, sodass es automatisch auf jede ListBox angewendet wird?

Dank und Gruß

Philipp


Th69 - Di 16.02.16 21:00

Ja, sollte gehen. Hast du es denn schon versucht?


DrHoas - Sa 20.02.16 14:05

Hallo,

ja, ich hatte es natürlich schon probiert. Keine Ahnung, warum ich es nicht hinbekommen hatte, jetzt hab ich mich grad nochmal drangemacht und nach drei Minuten die Lösung gehabt:


XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
        <Style TargetType="ListBox">
            <Style.Resources>
                <!-- this customizes the background color when the item is selected but inactive -->
                <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}">DodgerBlue</SolidColorBrush>
            </Style.Resources>
            <Style.Triggers>
                <!-- this customizes the foreground color when the item is selected but inactive -->
                <Trigger Property="Selector.IsSelected" Value="True">
                    <Setter Property="TextElement.Foreground" Value="White"/>
                </Trigger>
            </Style.Triggers>
        </Style>


Trotzdem noch eine Frage dazu. DodgerBlue ist nicht exakt, die Standardfarbe für ausgewählte Items. Welche wäre das?

Grüße

Philipp

Moderiert von user profile iconChristian S.: Code- durch XML-Tags ersetzt


DrHoas - Sa 20.02.16 15:47

Gleich noch eine Frage hinterher:

Wie kann ich die Schriftfarbe von ausgewählten items auf weiß setzen, wenn die Listbox nicht den Fokus hat?
Im Prinzip soll eine ausgewähltes Element also immer gleich aussehen, egal ob die Listbox den Fokus hat oder nicht.
Ich schaff es leider nur, die Schriftfarbe komplett auf weiß umzustellen, was bei weißem Hintergrund natürlich etwas ungeschickt ist.

Dank und Gruß

Philipp


DrHoas - Sa 20.02.16 16:00

Ach Mist, meine Lösung von oben funktioniert gar nicht. Ich hatte nur den Code in der Definition der ListBox noch drin. Also stehe ich wieder ganz am Anfang und Bitte um Hilfe. Ein selektiertes Element soll einfach immer gleich aussehen, egal ob im Fokus oder nicht.

Danke

Philipp


Th69 - So 21.02.16 14:01

Hallo,

evtl. hilft dir mein Beitrag in ListBox: Farben ändern [http://www.entwickler-ecke.de/viewtopic.php?p=638249#638249]!?


DrHoas - Mo 22.02.16 19:28

Wie geil, wir hatten die Unterhaltung also vor fünf Jahren schonmal.

Na dann, danke für den Link und bis in fünf Jahren...

Grüße

Philipp


Th69 - Mo 22.02.16 20:54

LOL, habe wirklich nicht bemerkt, daß der verlinkte Beitrag auch von dir ist...

Hat dir denn mein Beitrag jetzt geholfen? Oder soll ich erst in 5 Jahren nochmal nachfragen (wenn du wieder die gleiche Frage stellst)? ROFL


DrHoas - Di 23.02.16 20:07

Hat funktioniert.

Danke!

Grüße

Philipp