Xceed WPF Propertygrid - 集合控件:多种类型
Xceed WPF Propertygrid - Collection Control: Multiple Types
我正在使用 Xceed WPF 属性 网格控件来编辑对象和对象集合的属性。我注意到集合编辑器可以选择类型,如下图所示。我将如何添加从基础 class 继承的多个类型?
例如,我有一个 class 演示文稿,其中包含幻灯片列表。可以存在继承自幻灯片(主幻灯片 class)的多个幻灯片类型(classes)。请参阅下面的代码。这个想法是将 link 的 属性 Grid 添加到 Presentation 对象 (Presentation class),并且在编辑 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
}
}
我好像找到答案了!需要使用下面的代码:
[NewItemTypes(typeof(Slide1), typeof(Slide2))]
我正在使用 Xceed WPF 属性 网格控件来编辑对象和对象集合的属性。我注意到集合编辑器可以选择类型,如下图所示。我将如何添加从基础 class 继承的多个类型?
例如,我有一个 class 演示文稿,其中包含幻灯片列表。可以存在继承自幻灯片(主幻灯片 class)的多个幻灯片类型(classes)。请参阅下面的代码。这个想法是将 link 的 属性 Grid 添加到 Presentation 对象 (Presentation class),并且在编辑 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
}
}
我好像找到答案了!需要使用下面的代码:
[NewItemTypes(typeof(Slide1), typeof(Slide2))]