C# Can';t在样式中设置自定义依赖项属性

C# Can';t在样式中设置自定义依赖项属性,c#,wpf,xaml,C#,Wpf,Xaml,我已经编写了一个自定义控件,其中包含许多依赖属性。如果我使用如下XAML,一切都可以正常工作: <ProgressDial DialStart="Top" OutlineColor="Red" ... /> 顺便说一下,DialStart类型是一个枚举 下面是一个示例,其中一个DPs很高兴从样式中设置:- public static readonly DependencyProperty OutlineColorProperty = DependencyProperty.R

我已经编写了一个自定义控件,其中包含许多依赖属性。如果我使用如下XAML,一切都可以正常工作:

<ProgressDial DialStart="Top" OutlineColor="Red" ... />
顺便说一下,
DialStart
类型是一个枚举

下面是一个示例,其中一个DPs很高兴从样式中设置:-

    public static readonly DependencyProperty OutlineColorProperty = DependencyProperty.Register(
        "OutlineColor",
        typeof(Brush),
        typeof(ProgressDial),
        new PropertyMetadata(new SolidColorBrush(Colors.WhiteSmoke)));

    public Brush OutlineColor
    {
        get { return (Brush)GetValue(OutlineColorProperty); }
        set { SetValue(OutlineColorProperty, value); }
    }
我尝试用单独的GetDialStart()和SetDialStart()方法替换
DialStart
属性,但没有任何区别。(另一方面,我很好奇为什么有两种方法可以暴露DP?。

将其注册为
“DialStart”
,而不是
注册(“DialStartProperty”
典型-刚刚发现了这一点(在挠头一小时后)当我注意到你的评论时,我正要删除我的SO问题!总是这样…使用C#快捷方式来避免这些恼人的语法问题;键入“propdp”并按“tab”。这是自动创建依赖属性的快捷方式。将其注册为
“DialStart”
,而不是
注册(“DialStartProperty”
Typical-我刚刚发现了这一点(在一个小时的挠头之后),正要删除我的SO问题,这时我注意到了你的评论!总是这样…使用C#快捷方式来避免这些恼人的语法问题;键入“propdp”并按“tab”。这是自动创建依赖项属性的快捷方式。
    public static readonly DependencyProperty DialStartProperty = DependencyProperty.Register(
        "DialStartProperty",
        typeof(DialStart),
        typeof(ProgressDial),
        new PropertyMetadata(DialStart.Top));

    public DialStart DialStart
    {
        get { return (DialStart)GetValue(DialStartProperty); }
        set { SetValue(DialStartProperty, value); }
    }
    public static readonly DependencyProperty OutlineColorProperty = DependencyProperty.Register(
        "OutlineColor",
        typeof(Brush),
        typeof(ProgressDial),
        new PropertyMetadata(new SolidColorBrush(Colors.WhiteSmoke)));

    public Brush OutlineColor
    {
        get { return (Brush)GetValue(OutlineColorProperty); }
        set { SetValue(OutlineColorProperty, value); }
    }