/// <summary> /// Execute Dependence Rules. /// </summary> public virtual void ExecuteDependenceRules(ArgumentEventArgs argumentEventArgs) { if (!mEnabledChangeArgument) { return; } UpdateContext(); Context.SelectedInputField = argumentEventArgs.Name; // Execute Dependency Rules try { // if the change is from value. ValueChangedEventArgs lChangeValueEventArgs = argumentEventArgs as ValueChangedEventArgs; if (lChangeValueEventArgs != null) { PendingChanges = true; Logic.ExecuteDependencyRules( Context, lChangeValueEventArgs.OldValue, DependencyRulesEventLogic.SetValue, argumentEventArgs.Agent); } // if the change is from enable. EnabledChangedEventArgs lChangeEnableEventArgs = argumentEventArgs as EnabledChangedEventArgs; if (lChangeEnableEventArgs != null) { Logic.ExecuteDependencyRules( Context, lChangeEnableEventArgs.Enabled, DependencyRulesEventLogic.SetActive, argumentEventArgs.Agent); } } catch (Exception logicException) { ScenarioManager.LaunchErrorScenario(logicException); } // Delete argument selection Context.SelectedInputField = string.Empty; // Set context ConfigureByContext(Context); }