Чтобы добавить Мастера "из коробки", необходимо создать WizardAction в контроллере.

WizardAction в контроллере:

 

          private Xafari.Actions.WizardAction wizardAction1;

           ...

          this.wizardAction1.AcceptButtonCaption = null;

          this.wizardAction1.CancelButtonCaption = null;

          this.wizardAction1.Caption = "Template \'Wizard\'";

          this.wizardAction1.Category = "WizardTemplates";

          this.wizardAction1.ConfirmationMessage = null;

          this.wizardAction1.Id = "Wizard1";

          this.wizardAction1.ImageName = "XafariLogo";

          this.wizardAction1.IsSizeable = false;

          this.wizardAction1.ObjectType = typeof(Xafari.FeatureCenter.Wizards.WizardObject);

          this.wizardAction1.Shortcut = null;

          this.wizardAction1.StepsCount = 3;

          this.wizardAction1.Tag = null;

          this.wizardAction1.TargetObjectsCriteria = null;

          this.wizardAction1.TargetViewId = null;

          this.wizardAction1.TemplateContext = "Wizard";

          this.wizardAction1.ToolTip = null;

          this.wizardAction1.TypeOfView = null;

          this.wizardAction1.Execute += new DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventHandler(this.wizardAction3_Execute);

           ...

          private void wizardAction3_Execute(object sender, PopupWindowShowActionExecuteEventArgs e)

         {

                 e.PopupWindow.View.ObjectSpace.CommitChanges();

                 this.ObjectSpace.Refresh();

         }

 

WizardAction содержит дополнительные свойства:

WizardAction содержит дополнительные события:

Замечание:

Чтобы использовать Мастера в web-приложении, вам также следует перекрыть метод CreateShowViewStrategy как показано ниже:

 

 public partial class FeatureCenterAspNetApplication : WebApplication

 {

         ...

         protected override ShowViewStrategyBase CreateShowViewStrategy()

         {

                 return new XafariShowViewStrategy(this);

         }

 }

 

Для каждого обнаруженного WizardAction фреймворк автоматически добавит узел в Модель Приложения. При этом для каждого из этапов мастера будут созданы отдельные View.

Узел Мастера в Модели Приложения:

В Модели Приложения доступны следующие операции с Мастером:

Для запуска Мастера можно использовать также SimpleAction (потребуется реализовать обработчик события Execute) и PopupWindowShowAction (потребуется реализовать обработчики событий CustomizePopupWindowParams и Execute). Соответствующие примеры представлены в файле WizardsViewController.cs демо-приложения Feature Center.

Пример кодирования логики условного перехода представлен в методе controller_CustomNextStep.