wpf определение пользовательских свойств для стилей

Я создал пользовательскую кнопку при помощи Стиля и шаблона Control. Я хотел бы определить некоторые пользовательские свойства для этой кнопки, такие как ButtonBorderColour и RotateButtonText.

Как я иду об этом? Это может быть сделано просто с помощью XAML, или требуется некоторый код C# позади работы?

5
задан Mathew 30 January 2010 в 23:31
поделиться

1 ответ

Свойства должны быть объявлены в 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" />
4
ответ дан 15 December 2019 в 01:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: