C#/WPF - Добавление CornerRadius к кнопке ToggleButton

Я хочу создать ToggleButton с закругленными углами, используя мое свойство CornerRadius. Как вы можете видеть из кода ниже, я уже добавил свойство cornerRadius в мой xaml ToggleButton, чтобы передать значение радиуса. Но я не могу найти способ использовать это значение в C#, чтобы создать ToggleButton с закругленными углами.

C#

public static readonly DependencyProperty CornerRadiusProperty =
    DependencyProperty.Register("CornerRadius", typeof(int), typeof(MyToggleButton), 
    new PropertyMetadata(0)); //Default CornerRadius = 0

public int CornerRadius
{
   get { return (int)GetValue(CornerRadiusProperty); }
   set { SetValue(CornerRadiusProperty, value); }
}

XAML

<custom:MyToggleButton Height="25" Content="Test" CornerRadius="15" />

Итак, как я могу создать кнопку toggleButton с закругленными углами, используя мое свойство "CornerRadius"? Было бы здорово, если бы кто-то мог мне помочь.

1 ответ

Решение

Я бы не стал создавать новый элемент управления только для того, чтобы сделать его круглым - вот для чего нужны шаблоны, и именно это делает WPF таким замечательным! Вы можете просто определить новый шаблон для ToggleButton,

Если вы настаиваете на наследовании своего собственного элемента управления, вам необходимо определить для него новый стиль по умолчанию, который также будет включать в себя шаблон элемента управления, который будет иметь рамку, которая использует ваш CornerRadius имущество. Вы можете основать свой новый шаблон на шаблоне управления по умолчанию дляToggleButton,

Другие вопросы по тегам