Свойства должны быть объявлены в C # с помощью DependencyProperty.Register (или, если вы не создаете пользовательскую кнопку, DependencyProperty.RegisterAttached). Вот объявление, если вы создаете пользовательский класс кнопок:
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); }
}
Если вы не создаете пользовательский класс, но хотите определить свойства, которые можно установить для обычной кнопки, используйте RegisterAttached:
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" />