Implementé desollar en mi aplicación. La aplicación carga su diccionario de recursos Brushes.xaml que utiliza colores que residen en un diccionario de recursos específico de la máscara. Por lo tanto, solo se carga un Color.xaml según la máscara elegida.Desollado: Uso de un color como StaticResource para otro color
Piel-específico Color.xaml
<Color x:Key="TextBoxBackgroundColor">#C4AF8D</Color>
<Color x:Key="TextBoxForegroundColor">#6B4E2C</Color>
<Color x:Key="ToolBarButtonForegroundColor">#6B4E2C</Color>
Brushes.xaml:
<SolidColorBrush
x:Key="TextBoxBackground"
Color="{DynamicResource TextBoxBackgroundColor}" />
<SolidColorBrush
x:Key="TextBoxForeground"
Color="{DynamicResource TextBoxForegroundColor}" />
Como se puede ver, varios colores (TextBoxForegroundColor y ToolBarButtonForegroundColor) son los mismos. Me gustaría evitar eso, ya que cada vez es más confuso, sobre todo porque los colores utilizados no son reconocibles por su valor hexadecimal. Puede aconsejar ahora fusionar ambos colores en uno pero tengo máscaras donde el TextBoxForegroundColor es diferente del ToolBarButtonForegroundColor.
Lo que me gustaría hacer es algo como esto:
<Color x:Key="DarkBrown">#C4AF8D</Color>
<Color x:Key="TextBoxBackgroundColor" Color={StaticResource DarkBrown} />
<Color x:Key="ToolBarButtonForegroundColor" Color={StaticResource DarkBrown} />
¿Es esto en absoluto posible en Xaml? No encontré la manera.
Eso se ve muy interesante pero no consigo que funcione. Intenté establecer , pero esto desencadena el mensaje de error "Un objeto del tipo" System.Windows.DynamicResourceExtension "no se puede aplicar a una propiedad que espera el tipo "System.Windows.Media.Color". ¿Estoy haciendo algo mal? –
Amenti
Necesita referenciarlo como un StaticResource ('Color =" {StaticResource TextBoxBackgroundColor} "' porque es, de hecho, un recurso estático aunque el la referencia interna es dinámica. –
Lo intenté y ahora compila y funciona. Pero sigo recibiendo el error en el IDE (Visual Studio 2010 Express) pero ahora en relación con el System.Windows.StaticResourceExtension. Esto es problemático ya que efectivamente paraliza el diseño. -Tiempo de uso del Gui-Editor en el IDE. Pero aún así es genial que pueda funcionar de esa manera. ¿Tienes alguna idea de por qué sucede esto? ¿Este error está en VS o estoy haciendo algo mal? – Amenti