UserControl属性的默认值

FLC*_*LCL 3 c# wpf user-controls

UserControl包含BorderBrush从中派生的属性Control.我如何设置它的默认值,例如,Brushes.Black让它可供开发人员使用我的控件设置?

我试图<UserControl>在控件的xaml文件及其构造函数中的tag中分配初始值,但是当我执行任何操作时,将忽略为外部控件分配的值.

Cle*_*ens 5

您通常会通过覆盖BorderBrushUserControl派生类中的属性的元数据来执行此操作:

public partial class MyUserControl : UserControl
{
    static MyUserControl()
    {
        BorderBrushProperty.OverrideMetadata(
            typeof(MyUserControl),
            new FrameworkPropertyMetadata(Brushes.Black));
    }

    public MyUserControl()
    {
        InitializeComponent();
    }
}
Run Code Online (Sandbox Code Playgroud)