Ich erstelle einen Schaltflächenstil, der darauf beruht, einen Farbpinsel in einen dunkleren Farbton zu konvertieren, um einen Schatten zu erzeugen. In regelmäßigen XAML habe ich einen Konverter, als ich auf der Bindung verwenden, die perfekt funktioniert:Ist es möglich, einen Konverter für eine TemplateBinding in XAML zu verwenden?
BorderBrush="{Binding Background, Converter={StaticResource ColourBrushToDarker}}"
Aber ich kann den Konverter nicht bekommen mit Template in einer Stildefinition zu arbeiten. Gibt es einen Weg? Visual Studio lässt einen Konverter auf einem TemplateBinding einfach nicht zu.
Ich habe folgende ohne Glück versucht:
Background="{Binding Converter={StaticResource ColourBrushToDarker}, ConverterParameter={Binding Path=Background}}"/>
(Und ich habe die obige Zeile versucht, mit Template Binding sowie mehrere anderen Iterationen ersetzt)
dies getan werden kann? Die andere Sache, an die ich gedacht habe, war das Codieren einer Eigenschaft in C#, die die Konvertierung durchführt, aber ein Stil hat keinen Code hinter der Datei.
Das Ergebnis, das ich habe, ist in der Lage, einen neuen Pinsel zu erstellen, der eine Schattierung dunkler als die Hintergrundeigenschaft ist, so dass die Schaltfläche immer einen Schatten hat, der ein wenig dunkler als seine Haupthintergrundfarbe ist.