wpf resources styles resourcedictionary

wpf - Cómo apuntar un recurso(un SolidColorBrush) a otro



resourcedictionary c# (2)

Estoy de acuerdo con lo que dijo Rachel, pero si tiene que basarlo en un SolidColorBrush existente, puede hacerlo con lo siguiente:

<SolidColorBrush x:Key="MyDataGridHeaderBrush" Color="{Binding Source={StaticResource HeaderBrushDefinedElsewhere}, Path=Color}"/>

Tenga en cuenta que esto solo funciona para el atributo "Color", tendría que hacerlo por separado para cada atributo que necesita.

Configuré una carga de recursos de SolidColorBrush y LinearGradientBrush en un ResourceDictionary. Utilicé estos ya que estaba restyling varios controles para uso en nuestra aplicación.

Ahora tengo un montón de otros pinceles externos que tengo que usar para una variación de nuestra aplicación. Estos también se configuran en un ReseourceDictionary.

¿Es posible apuntar mis recursos de pincel a los nuevos recursos en otro diccionario, algo similar al atributo "BasedOn" de los estilos?

Algo así, conceptualmente al menos:

<SolidColorBrush x:Key="MyDataGridHeaderBrush" Binding="HeaderBrushDefinedElsewhere"/>

... ¿o no es posible este tipo de cosas, en cuyo caso simplemente tengo que ir a buscar / reemplazar y reemplazar todos los nombres de mis pinceles con los nuevos nombres de pinceles?

Gracias por adelantado,

A


Por lo general, hago una propiedad de Color estática en un solo lugar y mis pinceles se unen a ese Color.

<SolidColorBrush x:Key="LightColor" Color="#C5DBF6"/> <SolidColorBrush x:Key="DarkColor" Color="#FF8DB2E3"/> <LinearGradientBrush x:Key="FadeOutRight" EndPoint="1,1" StartPoint="0,0"> <GradientStop Color="{Binding Source={StaticResource LightColor}, Path=Color}" Offset="0" /> <GradientStop Color="{Binding Source={StaticResource DarkColor}, Path=Color}" Offset="1"/> </LinearGradientBrush>

También puede vincular otros SolidBrushColors a esto:

<SolidColorBrush Color="{Binding Source={StaticResource LightColor}, Path=Color}" />

Si se hace referencia a esto en otro archivo, puede subrayarlo porque no puede encontrar el recurso estático, pero en tiempo de ejecución aún se compilará, siempre que se cargue el archivo de recursos principal que contiene las definiciones de pincel.