Example #1
0
 internal virtual Geometry GetSelectionOutline(DataPoint dataPoint)
 {
     if (dataPoint.View != null)
     {
         FrameworkElement frameworkElement = dataPoint.View.MainView ?? dataPoint.View.MarkerView;
         if (frameworkElement != null)
         {
             Rect rect;
             if (dataPoint.View.AnchorRectOrientation == RectOrientation.None)
             {
                 Rect  layoutSlot  = LayoutInformation.GetLayoutSlot(frameworkElement);
                 Point anchorPoint = dataPoint.View.AnchorPoint;
                 rect = new Rect(anchorPoint.X - layoutSlot.Width / 2.0, anchorPoint.Y - layoutSlot.Height / 2.0, layoutSlot.Width, layoutSlot.Height);
             }
             else
             {
                 rect = dataPoint.View.AnchorRect;
             }
             return((Geometry) new RectangleGeometry()
             {
                 Rect = RectExtensions.TranslateToParent(rect, frameworkElement, (FrameworkElement)this.ChartArea)
             });
         }
     }
     return((Geometry)null);
 }
Example #2
0
        private RectangleGeometry GetBoundingRectangle(FrameworkElement element)
        {
            Rect rect = element == this.ChartArea ? new Rect(0.0, 0.0, this.ActualWidth, this.ActualHeight) : LayoutInformation.GetLayoutSlot(element);

            return(new RectangleGeometry()
            {
                Rect = RectExtensions.TranslateToParent(rect, element, (FrameworkElement)this.ChartArea)
            });
        }
Example #3
0
        internal override Geometry GetSelectionOutline(DataPoint dataPoint)
        {
            if (dataPoint.View == null)
            {
                return((Geometry)null);
            }
            Rect  rect1       = new Rect(0.0, 0.0, 6.0, 6.0);
            Point anchorPoint = dataPoint.View.AnchorPoint;

            if (double.IsNaN(anchorPoint.X) || double.IsInfinity(anchorPoint.X) || (double.IsNaN(anchorPoint.Y) || double.IsInfinity(anchorPoint.Y)))
            {
                return((Geometry)null);
            }
            Rect             rect2 = new Rect(anchorPoint.X - rect1.Width / 2.0, anchorPoint.Y - rect1.Height / 2.0, rect1.Width, rect1.Height);
            FrameworkElement child = Enumerable.FirstOrDefault <FrameworkElement>(Enumerable.OfType <FrameworkElement>((IEnumerable)this.RootPanel.Children));

            return((Geometry) new RectangleGeometry()
            {
                Rect = RectExtensions.Expand(RectExtensions.TranslateToParent(rect2, child, (FrameworkElement)this.ChartArea), 1.0, 1.0)
            });
        }