Verwenden Sie ein LinearGradientBrush in einem anderen LinearGradientBrush?
-
02-10-2019 - |
Frage
Ich versuche, ein LinearGradientBrush in der Definition eines anderen LinearGradientBrush zu verwenden. Aber ich habe keine Ahnung, Wetter dies würde auch Arbeit, und wenn es funktioniert, ich muss wissen, wie.
Beispiel:
<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>
Sie in der Erwartung für Ihre Antworten danken
Edit:
Um die Dinge ein wenig klarer im Beispiel ich will „ComboBoxFocusBackgroundBrush“ verwenden, in der „FilterPopupTitleBrush“ als „Vorlage“ .So, dass ich die gleiche Farbverlauf in den beiden Bürsten haben, ohne eine Kopie der „
Lösung
Sie können die Liste der Gradient Anschläge zwischen mehreren Bürsten teilen, wie folgt aus: -
<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}" />
Jetzt können Sie die EndPoint
variieren, StartPoint
und andere Eigenschaften erstellen verschiedene Varianten der gleichen grundlegenden Gradienten.
Sie können sogar den gleichen Satz zu RadialGradientBrush
liefern.
Andere Tipps
Sharing einen anderen Weg, dies zu tun, müssen Sie nicht eine separate Sammlung erstellen müssen, können Sie auch die bestehenden Bürste wieder verwenden wie
<LinearGradientBrush x:Key="FilterPopupTitleBrush" GradientStops="{Binding GradientStops, Source={StaticResource ComboBoxFocusBackgroundBrush}}"/>
Auf diese Weise eine eigene Bürste zu schaffen, basierend auf Pinsel bestehenden hilfreich sein wird speziell, wenn Sie vordefinierte Themen wie Telerik
Themen erweitern wollen, wo es nicht guter Ansatz wäre, die XAML
von telerik zu ändern.