Skinning: Verwenden einer Farbe als StaticResource für eine andere Farbe

Ich umgesetzt Kürschner in meiner Anwendung. Die Anwendung lädt die Bürsten.xaml-ressourcenwörterbuch, die verwendet Farben, die sich in einer Haut-spezifischen Ressourcen-Wörterbuch. Also nur eine Farbe.xaml geladen wird, abhängig von der gewählten skin.

Haut-Farbe.xaml

    <Color x:Key="TextBoxBackgroundColor">#C4AF8D</Color>
    <Color x:Key="TextBoxForegroundColor">#6B4E2C</Color>
    <Color x:Key="ToolBarButtonForegroundColor">#6B4E2C</Color>

Bürsten.xaml:

    <SolidColorBrush 
        x:Key="TextBoxBackground" 
        Color="{DynamicResource TextBoxBackgroundColor}" />
    <SolidColorBrush 
        x:Key="TextBoxForeground" 
        Color="{DynamicResource TextBoxForegroundColor}" />

Wie Sie sehen können, mehrere Farben (TextBoxForegroundColor und ToolBarButtonForegroundColor) sind die gleichen. Ich würde gerne umgehen, dass, wie es immer mehr und mehr verwirrend, vor allem, da die verwendeten Farben sind nicht erkennbar, die durch Ihren hex-Wert. Sie beraten könnte jetzt mischen der beiden Farben in einer, aber ich habe skins, wo die TextBoxForegroundColor unterscheidet sich von der ToolBarButtonForegroundColor.

Was ich tun möchte ist etwas wie dieses:

<Color x:Key="DarkBrown">#C4AF8D</Color>

<Color x:Key="TextBoxBackgroundColor" Color={StaticResource DarkBrown} />
<Color x:Key="ToolBarButtonForegroundColor" Color={StaticResource DarkBrown} />

Ist, ist das überhaupt möglich in Xaml? Ich habe nicht einen Weg finden.

InformationsquelleAutor der Frage Amenti | 2011-01-26

Schreibe einen Kommentar