Пример #1
0
        public void Popup(GridIconControl icon)
        {
            if ((!Config.HoverTextEnabled) || (App.ViewMode != App.ViewModeEnum.Grid))
            {
                return;
            }

            (Resources["HideAnimation"] as Storyboard).Stop();
            if (IsVisible)
            {
                (Resources["KeepPopupAnimation"] as Storyboard).Begin();
                if (IconControl == icon)
                {
                    return;
                }
            }
            else
            {
                (Resources["PopupAnimation"] as Storyboard).Begin();
            }

            IconControl = icon;

            lbTitle.Text = IconControl.Title;

            var size = App.MeasureTextSize(lbTitle.Text, lbTitle.FontFamily, lbTitle.FontStyle, lbTitle.FontWeight, lbTitle.FontStretch, lbTitle.FontSize);

            size.Width  += Border.Padding.Left + Border.Padding.Right;
            size.Height += Border.Padding.Top + Border.Padding.Bottom;

            var bounds = IconControl.TransformToAncestor((App.Current.MainWindow as GridView).GridContent).TransformBounds(new Rect(0, 0, IconControl.ActualWidth, IconControl.ActualHeight));

            var top  = bounds.Top + IconControl.IconSize + 2 - Border.Padding.Top;
            var left = bounds.Left + (bounds.Width - size.Width) / 2;

            if (left + size.Width > (App.Current.MainWindow as GridView).wpContent.ActualWidth)
            {
                left -= left + size.Width - (App.Current.MainWindow as GridView).wpContent.ActualWidth;
            }
            if (left < 0)
            {
                left = 0;
            }
            Margin = new Thickness(left, top, 0, 0);
        }
Пример #2
0
        public void Popup(GridIconControl icon)
        {
            if ((!Config.HoverTextEnabled) || (App.ViewMode != App.ViewModeEnum.Grid))
            {
                return;
            }

            (Resources["HideAnimation"] as Storyboard).Stop();
            if (IsVisible)
            {
                (Resources["KeepPopupAnimation"] as Storyboard).Begin();
                if (IconControl == icon)
                {
                    return;
                }
            }
            else
            {
                (Resources["PopupAnimation"] as Storyboard).Begin();
            }

            IconControl = icon;

            lbTitle.Text = IconControl.Title;
            
            var size = App.MeasureTextSize(lbTitle.Text, lbTitle.FontFamily, lbTitle.FontStyle, lbTitle.FontWeight, lbTitle.FontStretch, lbTitle.FontSize);
            size.Width += Border.Padding.Left + Border.Padding.Right;
            size.Height += Border.Padding.Top + Border.Padding.Bottom;

            var bounds = IconControl.TransformToAncestor((App.Current.MainWindow as GridView).GridContent).TransformBounds(new Rect(0, 0, IconControl.ActualWidth, IconControl.ActualHeight));

            var top = bounds.Top + IconControl.IconSize + 2 - Border.Padding.Top;
            var left = bounds.Left + (bounds.Width - size.Width) / 2;
            if (left + size.Width > (App.Current.MainWindow as GridView).wpContent.ActualWidth)
            {
                left -= left + size.Width - (App.Current.MainWindow as GridView).wpContent.ActualWidth;
            }
            if (left < 0)
            {
                left = 0;
            }
            Margin = new Thickness(left, top, 0, 0);
        }
Пример #3
0
 public void MoveHover(GridIconControl icon)
 {
     if (Config.HoverEnabled)
     {
         if (Hover.Opacity == 0)
         {
             var anim = new DoubleAnimation(0, 1, new Duration(TimeSpan.FromMilliseconds(Config.HoverPopupDelay)));
             Hover.BeginAnimation(OpacityProperty, anim);
         }
         else
         {
             Hover.BeginAnimation(OpacityProperty, null);
             Hover.Opacity = 1;
         }
         var bounds = icon.TransformToAncestor(wpContent).TransformBounds(new Rect(0, 0, icon.ActualWidth, icon.ActualHeight));
         var anim2 = new ThicknessAnimation(Hover.Margin, new Thickness(bounds.Left - 3, bounds.Top - 3, 0, 0), new Duration(TimeSpan.FromMilliseconds(Config.HoverMoveDealy)));
         anim2.AccelerationRatio = 0.2;
         Hover.BeginAnimation(MarginProperty, null);
         Hover.BeginAnimation(MarginProperty, anim2);
     }
 }
Пример #4
0
 public void MoveHover(GridIconControl icon)
 {
     if (Config.HoverEnabled)
     {
         if (Hover.Opacity == 0)
         {
             var anim = new DoubleAnimation(0, 1, new Duration(TimeSpan.FromMilliseconds(Config.HoverPopupDelay)));
             Hover.BeginAnimation(OpacityProperty, anim);
         }
         else
         {
             Hover.BeginAnimation(OpacityProperty, null);
             Hover.Opacity = 1;
         }
         var bounds = icon.TransformToAncestor(wpContent).TransformBounds(new Rect(0, 0, icon.ActualWidth, icon.ActualHeight));
         var anim2  = new ThicknessAnimation(Hover.Margin, new Thickness(bounds.Left - 3, bounds.Top - 3, 0, 0), new Duration(TimeSpan.FromMilliseconds(Config.HoverMoveDealy)));
         anim2.AccelerationRatio = 0.2;
         Hover.BeginAnimation(MarginProperty, null);
         Hover.BeginAnimation(MarginProperty, anim2);
     }
 }