Xceed WPF Propertygrid - 集合控制:多种类型

时间:2017-07-13 07:40:37

标签: c# wpf propertygrid xceed

我正在使用Xceed WPF属性网格控件来编辑对象和对象集合的属性。我注意到集合编辑器可以选择一种类型,如下图所示。我如何添加从基类继承的多个类型?

例如,我有一个类Presentation,它有一个Slides列表。可以存在从Slide(主要Slide类)继承的多个幻灯片类型(类)。见下面的代码。我们的想法是将Property Grid链接到Presentation对象(Presentation类),当编辑Slides集合时,Collection Editor将提供所有可用的幻灯片类型,可以通过“Select Type”组合框选择。

这将使用户能够无缝地添加存储在一个集合对象(List)中的不同幻灯片类型。

知道如何让这项工作成功吗?

Property Grid Collection Editor

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
   }


}

1 个答案:

答案 0 :(得分:0)

好像我找到了答案!需要使用以下代码:

[NewItemTypes(typeof(Slide1),typeof(Slide2))]

相关问题