我正在使用Xceed WPF属性网格控件来编辑对象和对象集合的属性。我注意到集合编辑器可以选择一种类型,如下图所示。我如何添加从基类继承的多个类型?
例如,我有一个类Presentation,它有一个Slides列表。可以存在从Slide(主要Slide类)继承的多个幻灯片类型(类)。见下面的代码。我们的想法是将Property Grid链接到Presentation对象(Presentation类),当编辑Slides集合时,Collection Editor将提供所有可用的幻灯片类型,可以通过“Select Type”组合框选择。
这将使用户能够无缝地添加存储在一个集合对象(List)中的不同幻灯片类型。
知道如何让这项工作成功吗?
public class Presentation
{
private List<Slide> _slides = new List<Slide>();
[DisplayName("Slides List")]
[Description("Slides List")]
[Category("Presentation Content")]
[PropertyOrder(1)]
public List<Slides> slides
{
get
{
return (_slides );
}
set
{
_slides = value;
}
}
public class Slide
{
//Properties of slide
}
public class SlideType1: Slide
{
//Properties of slide type 1
}
public class SlideType2: Slide
{
//Properties of slide type 2
}
}
答案 0 :(得分:0)
好像我找到了答案!需要使用以下代码:
[NewItemTypes(typeof(Slide1),typeof(Slide2))]