private static void Obj_Loaded(object sender, RoutedEventArgs e)
        {
            var element = sender as FrameworkElement;

            SubTreeAdded?.Invoke(sender, new EventArgs());
            Css.instance?.NewElement(sender as DependencyObject);
        }
示例#2
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);
            }
        }
示例#3
0
 public static void Include(Element cell)
 {
     if (AttachedChild(cell))
     {
         SubTreeAdded?.Invoke(cell, new EventArgs());
     }
 }
示例#4
0
 private static void AttachChildInternal(Element element)
 {
     if (AttachedChild(element))
     {
         SubTreeAdded?.Invoke(element, new EventArgs());
     }
 }
示例#5
0
        private static void OnLoadDetectionChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs ev)
        {
            var element = dpo as FrameworkElement;

            if ((bool)ev.NewValue == true)
            {
                Debug.WriteLine("Added (OnLoadDetectionChanged)");

                element.Loaded   += Obj_Loaded;
                element.Unloaded += LoadedDetectionHelper_Unloaded;
                SubTreeAdded?.Invoke(dpo, new EventArgs());

                Css.instance.UpdateElement(dpo);
            }

            // Load detection is only relyable for the first time
        }
        private static void OnLoadDetectionChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs ev)
        {
            if ((dpo is TextBlock t) &&
                t.Name == MarkupExtensionParser.MarkupParserHelperId)
            {
                return;
            }

            var element = dpo as FrameworkElement;

            if ((bool)ev.NewValue == true)
            {
                Debug.WriteLine("Added (OnLoadDetectionChanged)");

                element.Loaded   += Obj_Loaded;
                element.Unloaded += LoadedDetectionHelper_Unloaded;
                SubTreeAdded?.Invoke(dpo, new EventArgs());

                Css.instance?.UpdateElement(dpo);
            }

            // Load detection is only relyable for the first time
        }
        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);
            }
        }