/// <summary> /// Activates a specific view with activation arguments. /// </summary> /// <param name="previousView">The view that is currently active.</param> /// <param name="viewName">The view name to be activated.</param> /// <param name="navigator">The navigator.</param> /// <param name="args">The arguments for the next view.</param> public void ActivateView(string previousView, string viewName, Navigator navigator, TaskArgumentsHolder args) { Guid taskId = navigator.CurrentState.TaskId; WizardContainer currentWizardContainer = GetWizardContainer(taskId, navigator); currentWizardContainer.Activate(viewName); }
private WizardContainer GetWizardContainer(Guid taskId, Navigator navigator) { WizardContainer result = (WizardContainer)_activeWizardContainers[taskId]; if (result == null) { result = new WizardContainer(CreateViews(navigator), navigator); _activeWizardContainers[taskId] = result; result.Closed += new EventHandler(ContainerClosed); } return(result); }
/// <summary> /// The IView currently displayed in the wizard for a given task. /// </summary> /// <param name="taskId">A task identifier (a GUID associated with the task).</param> /// <returns></returns> public IView GetActiveView(Guid taskId) { WizardContainer container = (WizardContainer)_activeWizardContainers[taskId]; return((container == null) ? null : container.GetActiveView()); }