我有一个WPF MyUserControl。 在里面,我定义了一个依赖属性(默认为Visual Studio)
Public Property Prop1 As String
Get
Return GetValue(Prop1Property).ToString()
End Get
Set(ByVal value As String)
SetValue(Prop1Property, value)
End Set
End Property
Public Shared ReadOnly Prop1Property As DependencyProperty = _
DependencyProperty.Register("Prop1", _
GetType(String), GetType(ctlMyUserControl.MyUserControl), _
New FrameworkPropertyMetadata(Nothing))
我成功编译了该项目,但我没有在WPF的控件设计器中看到我的Prop1
。
为什么呢?
我还定义了一个“常用”属性,如
Public Property Test1 As String
但我也没有在设计师身上看到它。为什么呢?
修改
我在其他WPF控件中添加了MyUserControl,在那里我可以看到该属性。但是在MyUserControl本身的设计者中(当我选择根UserControl时),这些属性是不可见的......
答案 0 :(得分:1)
我相信你必须装饰你的属性,例如:
[Category("Configuration")]
或
[Category("Configuration"), Browsable(true), Description("Title to show")]
我认为当你在userControl的设计者中时,看不到道具是一种正常的行为。你为什么要在那里看到它们,因为你只是“创建”用户控件而不是消耗它。