예제 #1
0
        void ShowTip(string label, Point pos, DataValue data = null)
        {
            PointerLabel.Text = label;
            PointerBorder.UpdateLayout();

            double offset       = Canvas.GetLeft(Graph);
            double tipPositionX = pos.X;// + offset;

            if (tipPositionX + PointerBorder.ActualWidth > this.ActualWidth)
            {
                tipPositionX = this.ActualWidth - PointerBorder.ActualWidth;
            }
            double tipPositionY = pos.Y - PointerLabel.ActualHeight - 4;

            if (tipPositionY < 0)
            {
                tipPositionY = 0;
            }
            PointerBorder.Margin     = new Thickness(tipPositionX, tipPositionY, 0, 0);
            PointerBorder.Visibility = System.Windows.Visibility.Visible;
            PointerBorder.Data       = data;

            Point pointerPosition = pos;

            Pointer.RenderTransform = new TranslateTransform(pointerPosition.X, pointerPosition.Y);
            Pointer.Visibility      = System.Windows.Visibility.Visible;

            LockTooltipMenuItem.IsEnabled = true;
        }
예제 #2
0
        void ShowTip(string label, Point pos, DataValue data = null)
        {
            PointerLabel.Text = label;
            PointerBorder.UpdateLayout();

            double tipPositionX = pos.X;

            if (tipPositionX + PointerBorder.ActualWidth > this.ActualWidth)
            {
                tipPositionX = this.ActualWidth - PointerBorder.ActualWidth;
            }
            double tipPositionY = pos.Y - PointerLabel.ActualHeight - 4;

            if (tipPositionY < 0)
            {
                tipPositionY = 0;
            }

            Size closeBoxSize = CloseBox.DesiredSize;

            if (tipPositionX == this.ActualWidth - PointerBorder.ActualWidth && tipPositionY < closeBoxSize.Height)
            {
                tipPositionX -= closeBoxSize.Width;
            }

            PointerBorder.Margin     = new Thickness(tipPositionX, tipPositionY, 0, 0);
            PointerBorder.Visibility = System.Windows.Visibility.Visible;
            PointerBorder.Data       = data;

            Point pointerPosition = pos;

            Pointer.RenderTransform = new TranslateTransform(pointerPosition.X, pointerPosition.Y);
            Pointer.Visibility      = System.Windows.Visibility.Visible;

            LockTooltipMenuItem.IsEnabled = true;

            if (PointerMoved != null)
            {
                PointerMoved(this, data);
            }
        }