Не знаю, правильно ли я сформулировал вопрос, но вот моя проблема. У меня на экране 3 кнопки. Каждая кнопка использует один и тот же MyButtonStyle
из файла ресурсов stati c. Все 3 кнопки работают одинаково, но я хочу, чтобы граница каждой из них имела различное свойство CornerRadius. Поскольку сама кнопка не имеет свойства CornerRadius, я не могу использовать TemplateBinding
, как это было для фона и кистей. Я мог бы расширить базовый стиль, чтобы создать 3 отдельных стиля, но я хотел попробовать сделать это таким образом.
Вот мой код:
<Style x:Key="MyButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Name="border"
BorderThickness="2"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}"
CornerRadius = something >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
Итак, вопрос в том, что именно я должен указать как значение CornerRadius, чтобы иметь возможность изменять его отдельно для каждого объекта, из кода или файла XAML окна?
Я стремился к чему-то вроде этого, хотя не уверен, выполнимо ли это:
<Button x:Name="Button1"
Width="240"
Height="150"
Style="{StaticResource MyButtonStyle}"
BoundNameForCornerRadius="10"/>