Я создаю стиль кнопки, который полагается на преобразование цветной кисти в более темный оттенок, чтобы создать тень. В обычном XAML у меня есть конвертер, чем я использую для привязки, который отлично работает:
BorderBrush="{Binding Background, Converter={StaticResource ColourBrushToDarker}}"
Но я не могу заставить конвертер работать с TemplateBinding в определении стиля. Есть ли способ? Visual Studio просто не разрешает конвертер на TemplateBinding.
Я пробовал следующее без везения:
Background="{Binding Converter={StaticResource ColourBrushToDarker}, ConverterParameter={Binding Path=Background}}"/>
(И я пробовал приведенную выше строку с заменой TemplateBinding Binding, а также несколькими другими итерациями)
Можно ли это сделать? Другая вещь, о которой я думал, - это кодирование свойства в С#, которое выполняет преобразование, но стиль не содержит кода за файлом.
В результате я получаю возможность создать новую кисть, которая будет темнее, чем свойство Background, поэтому кнопка всегда имеет тень, немного более темную, чем основной цвет фона.