Example #1
0
        private static void OnLoadDetectionChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs ev)
        {
            if ((bool)ev.NewValue == true)
            {
                SubTreeAdded?.Invoke(dpo, new EventArgs());

                if (dpo is FrameworkElement)
                {
                    (dpo as FrameworkElement).Loaded += LoadedEventHandler;
                }
                else if (dpo is FrameworkContentElement)
                {
                    (dpo as FrameworkContentElement).Loaded += LoadedEventHandler;
                }

                Css.instance.UpdateElement(dpo);
            }
            else
            {
                SubTreeRemoved?.Invoke(dpo, new EventArgs());

                if (dpo is FrameworkElement)
                {
                    (dpo as FrameworkElement).Loaded -= LoadedEventHandler;
                }
                else if (dpo is FrameworkContentElement)
                {
                    (dpo as FrameworkContentElement).Loaded -= LoadedEventHandler;
                }

                Css.instance.UnapplyMatchingStyles(dpo, null);
            }
        }
Example #2
0
        private static void RemoveChildInternal(Element element)
        {
            if (CanUnattachChild(element))
            {
                UnattachedChild(element);

                SubTreeRemoved?.Invoke(element, new EventArgs());
            }
        }
        private static void LoadedDetectionHelper_Unloaded(object sender, RoutedEventArgs e)
        {
            Debug.WriteLine("Removed (LoadedDetectionHelper_Unloaded)");

            // (sender as FrameworkElement).Unloaded -= LoadedDetectionHelper_Unloaded;

            Css.instance?.UnapplyMatchingStyles(sender as FrameworkElement, null);

            SubTreeRemoved?.Invoke(sender, new EventArgs());
        }
        private static void OnLoadDetectionChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs ev)
        {
            if ((dpo is TextBlock t) &&
                t.Name == MarkupExtensionParser.MarkupParserHelperId)
            {
                return;
            }

            if ((bool)ev.NewValue == true)
            {
                SubTreeAdded?.Invoke(dpo, new EventArgs());

                if (dpo is FrameworkElement)
                {
                    (dpo as FrameworkElement).Loaded += LoadedEventHandler;
                }
                else if (dpo is FrameworkContentElement)
                {
                    (dpo as FrameworkContentElement).Loaded += LoadedEventHandler;
                }
            }
            else
            {
                SubTreeRemoved?.Invoke(dpo, new EventArgs());

                if (dpo is FrameworkElement)
                {
                    (dpo as FrameworkElement).Loaded -= LoadedEventHandler;
                }
                else if (dpo is FrameworkContentElement)
                {
                    (dpo as FrameworkContentElement).Loaded -= LoadedEventHandler;
                }

                Css.instance?.UnapplyMatchingStyles(dpo, null);
            }
        }
        private static void LoadedDetectionHelper_Unloaded(object sender, RoutedEventArgs e)
        {
            SubTreeRemoved?.Invoke(sender, new EventArgs());

            Css.instance?.RemoveElement(sender as DependencyObject);
        }