假设您在wpf中创建标准UserControl或CustomControl,然后声明复杂类型的属性
public ComplexPropertyType AProperty {get;组; }
复杂类型是一个带有一堆属性的简单类
public class ComplexPropertyType
{
public int IntP { get; set; }
public String Strp { get; set; }
}
在设计时,AProperty不可编辑。
我记得System.ComponentModel中有一些属性允许我指定使用标准属性编辑器来使该属性可编辑,但我不记得了。
任何人都有一个明确不需要编写自定义属性编辑器的解决方案吗?毕竟如果我在我的控件中声明一个复杂类型Es。
的集合的属性public ObservableCollection ACollOfProperty {get;组; }
设计器自动使用能够编辑复杂类型的System.ComponentModel.Design.CollectionEditor
提前致谢。
答案 0 :(得分:0)
在wpf中,您可以使用此http://wpg.codeplex.com/或使用此winform contro
答案 1 :(得分:0)
我能够自己找到属性,是TypeConverter。您应该使用指定ExpandableObjectconverter
的TypeConverterAttribute在用户控件中声明该属性 [TypeConverter(typeof(ExpandableObjectConverter))]
public ComplexPropertyType AProperty { get; set; }
现在您应该在设计器中看到一个很好的新按钮,允许您在设计时填充值
按下新的将创建ComplexPropertyType的实例,因此可以直接从设计器进行编辑。
ALK。