C# VisualStudio的属性中不具有EasingMode的特性 描述

C# VisualStudio的属性中不具有EasingMode的特性 描述,c#,wpf,xaml,wpf-controls,C#,Wpf,Xaml,Wpf Controls,如果为UserControl声明了一个公共属性EasingMode,则它不会显示在Visual Studio的属性中。 这是一种奇怪的行为,仅适用于EasingMode而不适用于其他自定义属性 问题 如果您有一个属性EasingMode,它在XAML中可用,并且是有效的属性。但是我需要从Visual Studio中的属性访问此属性。 简单枚举中的简单公共属性必须像其他属性一样在设计时可访问,但它不适用于EasingMode,只适用于EasingMode 征服者 我知道我可以直接从代码或XAML更

如果为UserControl声明了一个公共属性EasingMode,则它不会显示在Visual Studio的属性中。 这是一种奇怪的行为,仅适用于EasingMode而不适用于其他自定义属性

问题 如果您有一个属性EasingMode,它在XAML中可用,并且是有效的属性。但是我需要从Visual Studio中的属性访问此属性。 简单枚举中的简单公共属性必须像其他属性一样在设计时可访问,但它不适用于EasingMode,只适用于EasingMode

征服者 我知道我可以直接从代码或XAML更改属性的值,但是

  • 我需要找出一个原因,为什么这个财产有这种奇怪的行为
  • 如何解决这个问题?显示此枚举属性的解决方案是什么 是否在Visual Studio的设计时进入属性面板
  • 例子 看看这个例子

    [Bindable(true)]
    [可浏览(正确)]
    [类别(“测试”)]
    公众评估模式A1
    {
    获取{return(EasingMode)this.GetValue(A1Property);}
    set{this.SetValue(A1Property,value);}
    }
    public static readonly dependencProperty A1Property=dependencProperty.Register(“A1”,typeof(EasingMode),typeof(UserControl1));
    [可装订(真实)]
    [可浏览(正确)]
    [类别(“测试”)]
    公共消息框按钮A2
    {
    获取{return(MessageBoxButton)this.GetValue(A2Property);}
    set{this.SetValue(A2Property,value);}
    }
    public static readonly dependencProperty A2Property=dependencProperty.Register(“A2”,typeof(MessageBoxButton),typeof(UserControl1));
    
    A1和A2是来自简单枚举的简单属性,但A1不会进入Visual Studio的属性面板。测试并找出答案,然后帮助我:)


    如果我理解正确,是否希望在Visual Studio designer中查看用户控件的属性?如果这是正确的,请查看MSDN页面

    在这里,您可以找到许多可以在属性上定义的有用属性:

    [Category("Alignment"), Description("Specifies the alignment of text.")]
    public ContentAlignment TextAlignment { //... }
    
    来自MSDN

    更新>>>

    对不起,我以前没有完全理解你。但是,现在我已经测试了您的问题,我可以告诉您您的代码确实有效:


    您只需构建项目,设计师就可以进行自我更新。

    我认为您必须在您的属性上添加可浏览属性


    谢谢

    不,我可以看到我所有的自定义属性。如果您再次阅读并测试这部分源代码,那么您可以找到它。。。仅A1属性未显示。如果您声明EasingMode的属性,那么它将在设计时从属性中消失。请测试它并试着帮助我:)我真的很感谢,但我测试了一遍又一遍,我没有机会找到错误的点。我在这里分享我的测试项目,如果您能分享您的测试项目,我将不胜感激。看到这些,我刚刚将您的代码添加到我的项目中。起初,该属性没有出现,但后来我在VisualStudio中选择了
    构建解决方案
    ,然后它出现了。我无法共享此项目,因为它是一个工作应用程序。好的,我与您共享了我的项目。你能不能测试一下它:),因为你可以看到它没有出现。您的项目是WPF项目吗?抱歉,我只有VS2010,所以无法打开您的项目。。。可能是VS2012的问题?是的,我的项目是一个WPF项目。哦,不。在这种情况下,
    [Browsable(true)]
    不起作用,请测试:)它确实是一个wierd。