Autor Beitrag
maho2nd
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 21.12.08 21:28 
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:

ausblenden 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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:
ausblenden 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

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
maho2nd Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 21.12.08 21:34 
danke für die schnelle Antwort. Werde ich gleich versuchen!

Edit: funktioniert bestens ;)