У меня есть ExtendedLabel, который происходит из System.Windows.Controls.Label. Я хочу указать значение по умолчанию для PaddingProperty. Я знаю, что для этой цели я могу использовать метод OverrideMetadata. Но некоторые как это не работает, Padding vallue по-прежнему отображается как 5,5,5,5 (что является значением по умолчанию для метки).Предоставление значения по умолчанию для PaddingProperty ничего не меняет
Однако все работает так, как ожидалось, для других объектов, таких как Маржа.
class ExtendedLabel : Label
{
static ExtendedLabel()
{
PaddingProperty.OverrideMetadata(typeof(ExtendedLabel), new FrameworkPropertyMetadata(new Thickness(0)));
MarginProperty.OverrideMetadata(typeof(ExtendedLabel), new FrameworkPropertyMetadata(new Thickness(0, 10, 0, 20)));
}
public ExtendedLabel()
{
// this.Padding = new Thickness(0);
}
}
PS: Я не хочу, чтобы установить Перетяжка в моем конструкторе. Потому что это позволяет другим разработчикам изменять Padding ценность от их стилей.
Спасибо большое. Работал как шарм .. –