protected override void Arrange() { base.Arrange(); exceptionHandlingViewModel = SectionViewModel.CreateSection(Container, ExceptionHandlingSettings.SectionName, base.ExceptionSettings); ElementLookup lookup = Container.Resolve <ElementLookup>(); lookup.AddSection(exceptionHandlingViewModel); changeScopeForHandlers = lookup.CreateChangeScope(x => typeof(ExceptionHandlerData).IsAssignableFrom(x.ConfigurationType)); changeScopeForHandlers.CollectionChanged += changeScopeForHandler; neverFiringChangeScope = lookup.CreateChangeScope(x => true == false); neverFiringChangeScope.CollectionChanged += shouldNeverFireCollectionChanged; }
private void CreateElementScope(ElementViewModel element) { scopeElement = element; this.elementChangeScope = lookup.CreateChangeScope( x => referenceAttribute.TargetType.IsAssignableFrom(x.ConfigurationType) && x.AncestorElements().Where(y => y.Path == scopeElement.Path).Any()); elementChangeScope.CollectionChanged += ElementScopeChangedHandler; }
protected override void Arrange() { base.Arrange(); exceptionHandlingViewModel = SectionViewModel.CreateSection(Container, ExceptionHandlingSettings.SectionName, base.ExceptionSettings); ElementLookup lookup = Container.Resolve <ElementLookup>(); changeScopeForHandlers = lookup.CreateChangeScope(x => typeof(ExceptionHandlerData).IsAssignableFrom(x.ConfigurationType)); changeScopeForHandlers.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(changeScopeForHandlers_CollectionChanged); }
public DeferredElementScope(ReferenceAttribute referenceAttribute, ElementViewModel baseDeclaringElement, ElementLookup lookup) { this.referenceAttribute = referenceAttribute; this.lookup = lookup; if (referenceAttribute.ScopeIsDeclaringElement) { CreateElementScope(baseDeclaringElement); } else { if (!TryCreateScopeElement()) { scopeChangeScope = lookup.CreateChangeScope(x => x.ConfigurationType.IsAssignableFrom(referenceAttribute.ScopeType)); scopeChangeScope.CollectionChanged += ScopeChangedHandler; } } }
public ValidationSectionViewModel(IUnityContainer builder, string sectionName, ConfigurationSection section, ElementLookup lookup) : base(builder, sectionName, section) { changeScope = lookup.CreateChangeScope(e => e.ContainingSection == this && typeof(ValidatorData).IsAssignableFrom(e.ConfigurationType)); }