예제 #1
0
            /// <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));
            }
예제 #2
0
        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);
        }