В этой статье объясняется, как применять ASPxGroupPropertyEditor. Для примера предлагается использовать бизнес-класс GroupPropertyEditorObject из демо-приложения Feature Center.

 

   [DomainComponent]

  public interface GroupPropertyEditorObject

   {

      string Name { get; set; }

 

      string StringProperty1 { get; set; }

      string StringProperty2 { get; set; }

         ...

      string StringProperty10 { get; set; }

 

      int IntProperty1 { get; set; }

      int IntProperty2 { get; set; }

         ...

      int IntProperty10 { get; set; }

 

      DateTime DateTimeProperty1 { get; set; }

      DateTime DateTimeProperty2 { get; set; }

         ...

      DateTime DateTimeProperty10 { get; set; }

 

       [BackReferenceProperty("ObjectProperty1")]

      IList<GroupPropertyEditorListObject> ListProperty1 { get; }

       [BackReferenceProperty("ObjectProperty2")]

      IList<GroupPropertyEditorListObject> ListProperty2 { get; }

         ...

       [BackReferenceProperty("ObjectProperty10")]

      IList<GroupPropertyEditorListObject> ListProperty10 { get; }

     

      GroupPropertyEditorListObject ObjectProperty1 { get; set; }

      GroupPropertyEditorListObject ObjectProperty2 { get; set; }

 

      GroupPropertyEditorListObject ObjectProperty10 { get; set; }

 

      GroupPropertyEditorObject ThisObject { get; }

   }

 

   [DomainLogic(typeof(GroupPropertyEditorObject))]

  public class GroupPropertyEditorObjectLogic

   {

      public static GroupPropertyEditorObject Get_ThisObject(GroupPropertyEditorObject instance)

       {

          return instance;

       }

   }

 

   [DomainComponent]

  public interface GroupPropertyEditorListObject

   {

      string Name { get; set; }

 

      string StringProperty { get; set; }

      int IntProperty { get; set; }

      DateTime DateTimeProperty { get; set; }

 

      GroupPropertyEditorObject ObjectProperty1 { get; set; }

      GroupPropertyEditorObject ObjectProperty2 { get; set; }

         ...

      GroupPropertyEditorObject ObjectProperty10 { get; set; }

   }

 

Обратите внимание на свойство ThisObject. Оно возвращает объект типа GroupPropertyEditorObject целиком. В дальнейших шагах мы будем применять ASPxGroupPropertyEditor именно к свойству ThisObject.

 

Чтобы просмотреть код, использованный в статье, обратитесь к файлу GroupPropertyEditorObject.cs из Feature Center solution, поставляемого вместе с Xafari.

В ASPxGroupPropertyEditor  используется шаблон по умолчанию. Прикладной разработчик может сделать собственный шаблон и используя технологию хранения шаблонов Xafari и свойство FrameTemplateContext, чтобы указать шаблон для каждой группы свойств. Вместе с платформой Xafari поставляется шаблон для ASPxGroupPropertyEditor, встроенный в Visual Studio.