/// <summary/> protected ValueWrapperBase(DependencyObject target) { UiFeatureManagement.AddContextPathChangedEventHandler(target, this.ContextChanged); UiFeatureManagement.AddManagerChangedEventHandler(target, this.ManagerChanged); this.Context = UiFeatureManagement.GetContextPath(target); this.UpdateManager(UiFeatureManagement.GetManager(target)); }
private static void ReEvaluateContextPath(DependencyObject element) { UiFeatureManagement.ClearContextPath(element); //Get (inherited) parent path string ParentContextPath = UiFeatureManagement.GetContextPath(element); string Context = UiFeatureManagement.GetContext(element); if (Context != null) { //Compute and set new path UiFeatureManagement.SetContextPath(element, ParentContextPath != null ? $"{ParentContextPath}/{Context}" : Context); } UiFeatureManagement.NotifyChildrenThatContextPathChanged(element); }