Пример #1
0
        private static void OnPopupContentChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        {
            UIElement element = o as UIElement;

            if (element == null)
            {
                throw new InvalidOperationException("Can't hook to events other than UI Element");
            }

            if (e.NewValue != null)
            {
                RichToolTip popup = e.NewValue as RichToolTip;

                if (popup != null)
                {
                    popup.Load(element);
                }
                else
                {
                    popup = new RichToolTip(element);

                    Binding binding = new Binding
                    {
                        Path   = new PropertyPath(PopupContentProperty),
                        Mode   = BindingMode.OneWay,
                        Source = o,
                    };
                    popup.SetBinding(ContentProperty, binding);
                }

                SetContentTooltipWrapper(o, popup);
            }
        }
Пример #2
0
        private void HideInternal()
        {
            Visibility = Visibility.Collapsed;

            IsOpen = false;

            lastShownPopup = null;
        }
Пример #3
0
 static void ResetTimer(RichToolTip tooltip)
 {
     if (_timer != null)
     {
         _timer.Tick -= tooltip.ShowDeferred;
         _timer.Stop();
     }
 }
Пример #4
0
        private static void OnIsOpenChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RichToolTip ctrl = (RichToolTip)d;

            if ((bool)e.NewValue)
            {
                if (ctrl._parentPopup == null)
                {
                    ctrl.HookupParentPopup();
                }
            }
        }
Пример #5
0
        private void ShowDeferred(object sender, System.EventArgs e)
        {
            ResetTimer(this);

            HideLastShown(false);

            ShowInternal();

            if (showAnimate && EnableAnimation)
            {
                Animate(true);
            }
            else
            {
                this.Opacity = 1;
            }

            lastShownPopup = this;
        }
Пример #6
0
        static bool TryFindPopupParent(object source, out RichToolTip popup)
        {
            popup = null;
            UIElement element = source as UIElement;

            if (element != null)
            {
                popup = UIHelpers.FindVisualAncestorByType <RichToolTip>(element);

                if (popup == null)
                {
                    popup = UIHelpers.FindLogicalAncestorByType <RichToolTip>(element);
                }

                return(popup != null);
            }

            return(false);
        }
Пример #7
0
            private void HideInternal()
            {
                Visibility = Visibility.Collapsed;

                IsOpen = false;

                lastShownPopup = null;
            }
Пример #8
0
            private void ShowDeferred(object sender, System.EventArgs e)
            {
                ResetTimer(this);

                HideLastShown(false);

                ShowInternal();

                if (showAnimate && EnableAnimation)
                {
                    Animate(true);
                }
                else
                {
                    this.Opacity = 1;
                }

                lastShownPopup = this;
            }
Пример #9
0
            static bool TryFindPopupParent(object source, out RichToolTip popup)
            {
                popup = null;
                UIElement element = source as UIElement;

                if (element != null)
                {
                    popup = UIHelpers.FindVisualAncestorByType<RichToolTip>(element);

                    if (popup == null)
                    {
                        popup = UIHelpers.FindLogicalAncestorByType<RichToolTip>(element);
                    }

                    return popup != null;
                }

                return false;
            }
Пример #10
0
 static void ResetTimer(RichToolTip tooltip)
 {
     if (_timer != null)
     {
         _timer.Tick -= tooltip.ShowDeferred;
         _timer.Stop();
     }
 }
Пример #11
0
 internal static void SetContentTooltipWrapper(DependencyObject obj, RichToolTip value)
 {
     obj.SetValue(ContentTooltipWrapperProperty, value);
 }
Пример #12
0
            private static void OnPopupContentChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
            {
                UIElement element = o as UIElement;
                if (element == null)
                {
                    throw new InvalidOperationException("Can't hook to events other than UI Element");
                }

                if (e.NewValue != null)
                {
                    RichToolTip popup = e.NewValue as RichToolTip;

                    if (popup != null)
                    {
                        popup.Load(element);
                    }
                    else
                    {
                        popup = new RichToolTip(element);

                        Binding binding = new Binding
                        {
                            Path = new PropertyPath(PopupContentProperty),
                            Mode = BindingMode.OneWay,
                            Source = o,
                        };
                        popup.SetBinding(ContentProperty, binding);

                    }

                    SetContentTooltipWrapper(o, popup);
                }
            }
Пример #13
0
 internal static void SetContentTooltipWrapper(DependencyObject obj, RichToolTip value)
 {
     obj.SetValue(ContentTooltipWrapperProperty, value);
 }