Я создал пользовательскую кнопку при помощи Стиля и шаблона Control. Я хотел бы определить некоторые пользовательские свойства для этой кнопки, такие как ButtonBorderColour и RotateButtonText.
Как я иду об этом? Это может быть сделано просто с помощью XAML, или требуется некоторый код C# позади работы?
Свойства должны быть объявлены в C # с использованием TendencyProperty.register (или, если вы не создаете пользовательскую кнопку Tyoe, зависимостьюPROPERTY. Вот объявление, если вы создаете пользовательский класс кнопки:
public static readonly DependencyProperty ButtonBorderColourProperty =
DependencyProperty.Register("ButtonBorderColour",
typeof(Color), typeof(MyButton)); // optionally metadata for defaults etc.
public Color ButtonBorderColor
{
get { return (Color)GetValue(ButtonBorderColourProperty); }
set { SetValue(ButtonBorderColourProperty, value); }
}
Если вы не создаете пользовательский класс, но хотите определить свойства, которые можно установить на нормальной кнопке, используйте зарегистрированные: [
public static class ButtonCustomisation
{
public static readonly DependencyProperty ButtonBorderColourProperty =
DependencyProperty.RegisterAttached("ButtonBorderColour",
typeof(Color), typeof(ButtonCustomisation)); // optionally metadata for defaults etc.
}
, они могут затем быть установлены в XAML:
<local:MyButton ButtonBorderColour="HotPink" />
<Button local:ButtonCustomisation.ButtonBorderColour="Lime" />