Domanda

Sto cercando di utilizzare uno LinearGradientBrush nella definizione di un altro LinearGradientBrush. Ma non ho idea di tempo questo sarebbe anche il lavoro, e se funziona, ho bisogno di sapere come.

Ad esempio:

    <LinearGradientBrush x:Key="ComboBoxFocusBackgroundBrush" EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="#FFFDEEB3" Offset="0"/>
        <GradientStop Color="#FFFBF2CD" Offset="1"/>
        <GradientStop Color="#FFFCE48A" Offset="0.5"/>
        <GradientStop Color="#FFFBE388" Offset="0.75"/>
    </LinearGradientBrush>

    <LinearGradientBrush x:Key="FilterPopupTitleBrush" EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="#B45988" Offset="0.75"/>
        //Code here to use ComboBoxFocusBackgroundBrush
        <GradientStop Color="#990088" Offset="0.75"/>
    </LinearGradientBrush>

Ringraziandovi in ??anticipo per le risposte

Modifica: Per ottenere le cose un po 'più chiaro nell'esempio voglio usare "ComboBoxFocusBackgroundBrush" nel "FilterPopupTitleBrush" come un "modello" .Così che ho la stessa sfumatura di colore in entrambe le spazzole senza una copia del " "- i tag

È stato utile?

Soluzione

È possibile condividere l'elenco delle fermate gradiente tra più pennelli, in questo modo: -

<GradientStopCollection x:Key="MyGradient">
    <GradientStop Color="#FFFDEEB3" Offset="0"/> 
    <GradientStop Color="#FFFBF2CD" Offset="1"/> 
    <GradientStop Color="#FFFCE48A" Offset="0.5"/> 
    <GradientStop Color="#FFFBE388" Offset="0.75"/> 
</LinearGradientBrush> 

<LinearGradientBrush x:Key="ComboBoxFocusBackgroundBrush" EndPoint="0.5,1" StartPoint="0.5,0"
   GradientStops="StaticResource MyGradient}" /> 

<LinearGradientBrush x:Key="FilterPopupTitleBrush" EndPoint="0.5,1" StartPoint="0.5,0"
    GradientStops="{StaticResource MyGradient}" /> 

Ora è possibile variare la EndPoint, StartPoint e altre proprietà di creare diverse varianti dello stesso gradiente di base.

Si può anche fornire lo stesso insieme a RadialGradientBrush.

Altri suggerimenti

La condivisione un altro modo di fare questo, non è necessario creare una raccolta differenziata, è anche possibile riutilizzare il pennello esistente come

<LinearGradientBrush x:Key="FilterPopupTitleBrush" GradientStops="{Binding GradientStops, Source={StaticResource ComboBoxFocusBackgroundBrush}}"/>

Questo modo di creare un pennello personalizzato in base a pennello esistente sarà utile specialmente quando si desidera estendere temi predefiniti come temi Telerik, dove non sarebbe buon approccio per cambiare il XAML da Telerik.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top