Entwickler-Ecke

WPF / Silverlight - Verwendete Farben in XAML-Styles global definieren


maho2nd - So 21.12.08 21:28
Titel: Verwendete Farben in XAML-Styles global definieren
Hallo,

ich habe für meine C#-Wpf-Anwendung ein Xaml-Style geschrieben, welche die Oberfläche anpasst.
Nun möchte ich in XAML eine globale Farbe definieren, die ich dann z.B. auf font-color, background-color, Border-Color anwenden kann.
Somit müsste ich die Farbe nur an einer Stelle definieren.

Ich dachte daran an sowas:


XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
<Style x:Key="MeinStyle" TargetType="{x:Type Rectangle}">
        <Setter Property="Stroke" Value="{DynamicResource meineFarbe}"/>
        <Setter Property="StrokeThickness" Value="4"/>
        <Setter Property="Fill" Value="{DynamicResource meineFarbe}"/>
</Style>

<Color x:Key="meineFarbe" A="255" R="0" G="0" B="255" />

Geht aber so leider nicht.


Christian S. - So 21.12.08 21:32

Hallo und :welcome:!

Du willst keine Farbe definieren, sondern ein Brush. Denn die setzt Du ja, und nicht die Farben. Zum Beispiel:

XML-Daten
1:
<SolidColorBrush x:Key="SolidBorderBrush">#FF516799</SolidColorBrush>                    


Und da sich das höchstwahrscheinlich während der Laufzeit Deiner Anwendung nicht mehr ändert, kannste das auch mittels StaticResource einbinden.

Grüße
Christian


maho2nd - So 21.12.08 21:34

danke für die schnelle Antwort. Werde ich gleich versuchen!

Edit: funktioniert bestens ;)