描述
如果您为 UserControl 声明 EasingMode 的公共属性,则它不会显示在 Visual Studio 的属性中。这是一种奇怪的行为,仅适用于EasingMode,不适用于其他自定义属性。
问题
如果您有EasingMode的属性,它可以在 XAML 中使用并且它是有效的属性。但我需要从Visual Studio中的Properties访问此属性。来自简单枚举的简单公共属性必须在设计时像其他属性一样可访问,但它不适用于EasingMode,仅适用于EasingMode
问题
我知道我可以直接从代码或 XAML 更改属性的值,但是
- 我需要找出为什么这个属性有这种奇怪的行为。
- 如何解决这个问题?在 Visual Studio 的设计时属性面板中显示此枚举属性的解决方案是什么?
例子
看这个例子
[Bindable(true)]
[Browsable(true)]
[Category("TEST")]
public EasingMode A1
{
get { return (EasingMode)this.GetValue(A1Property); }
set { this.SetValue(A1Property, value); }
}
public static readonly DependencyProperty A1Property = DependencyProperty.Register("A1", typeof(EasingMode), typeof(UserControl1));
[Bindable(true)]
[Browsable(true)]
[Category("TEST")]
public MessageBoxButton A2
{
get { return (MessageBoxButton)this.GetValue(A2Property); }
set { this.SetValue(A2Property, value); }
}
public static readonly DependencyProperty A2Property = DependencyProperty.Register("A2", typeof(MessageBoxButton), typeof(UserControl1));
A1 和 A2 是来自简单枚举的简单属性,但 A1 不会出现在Visual Studio的属性面板中。测试它并找出它并帮助我:)