我正在构建一个自定义 WPF 控件。在此控件中,我想覆盖 BackgroundProperty 的默认值,以便控件的所有实例都具有灰色背景。为此,我在控件中有一个静态构造函数,内容如下:
static CustomControl() {
CustomControl.BackgroundProperty.OverrideMetadata(
typeof(CustomControl),
new FrameworkPropertyMetadata(Brushes.Gray)
);
}
但是,在测试控件时,背景仍然设置为透明,即使我没有在 XAML 中指定 Background 属性的任何值:
<c:CustomControl />
有谁知道我做错了什么?