/// <summary> /// Occurs when trigger presentation (magnifying glass) of the object-valued Argument is triggered. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="e">TriggerEventArgs.</param> protected void HandleTriggerExecute(object sender, TriggerEventArgs e) { // Actualize the context. IUContext lContext = null; if (Parent != null) { Parent.UpdateContext(); lContext = Parent.Context; } // Initialize class and service name. string lClassName = string.Empty; string lContainerName = string.Empty; if (IsServiceField) { IUServiceController lServiceController = Parent as IUServiceController; if (lServiceController != null) { lClassName = lServiceController.ClassName; lContainerName = lServiceController.Name; } } else if (IsFilterField) { IUFilterController lFilterController = Parent as IUFilterController; if (lFilterController != null) { IUPopulationContext lPopContext = lFilterController.Parent.Context as IUPopulationContext; lClassName = lPopContext.ClassName; lContainerName = lFilterController.Context.FilterName; lContext = lPopContext; } } // Create exchange information. ExchangeInfoSelectionForward lInfo = new ExchangeInfoSelectionForward( Domain, mSelectionScenario, lClassName, lContainerName, Name, MultiSelectionAllowed, IsNavigationalFilter, lContext); // Launch scenario. ScenarioManager.LaunchSelectionScenario(lInfo, this); }