カスタム WPF コントロールを作成しています。このコントロールでは、BackgroundProperty のデフォルト値をオーバーライドして、コントロールのすべてのインスタンスの背景が灰色になるようにします。これを実現するために、次の内容の静的コンストラクターをコントロールに用意しました。
static CustomControl() {
CustomControl.BackgroundProperty.OverrideMetadata(
typeof(CustomControl),
new FrameworkPropertyMetadata(Brushes.Gray)
);
}
ただし、コントロールをテストするとき、XAML で Background プロパティの値を指定していなくても、背景は透明に設定されたままです。
<c:CustomControl />
私が間違っていることを誰かが知っていますか?