/// <summary> /// Get marker for DataPoint /// </summary> /// <param name="chart"></param> /// <param name="plotWidth"></param> /// <param name="plotHeight"></param> /// <param name="yPosition"></param> /// <param name="dataPoint"></param> /// <param name="isPositionTop"></param> /// <returns></returns> private static Marker GetMarkerForDataPoint(Chart chart, Double plotWidth, Double plotHeight, Double yPosition, DataPoint dataPoint, Boolean isPositionTop) { String labelText = (Boolean)dataPoint.LabelEnabled ? dataPoint.TextParser(dataPoint.LabelText) : ""; Boolean markerBevel = false; Marker marker = dataPoint.Marker; if (marker != null && marker.Visual != null) { Panel parent = marker.Visual.Parent as Panel; if (parent != null) { parent.Children.Remove(marker.Visual); } } dataPoint.Marker = new Marker((MarkerTypes)dataPoint.MarkerType, (Double)dataPoint.MarkerScale, new Size((Double)dataPoint.MarkerSize, (Double)dataPoint.MarkerSize), markerBevel, dataPoint.MarkerColor, labelText); LineChart.ApplyMarkerProperties(dataPoint); if ((Boolean)dataPoint.LabelEnabled && !String.IsNullOrEmpty(labelText)) { LineChart.ApplyLabelProperties(dataPoint); if (!Double.IsNaN(dataPoint.LabelAngle) && dataPoint.LabelAngle != 0) { dataPoint.Marker.LabelAngle = dataPoint.LabelAngle; dataPoint.Marker.TextOrientation = Orientation.Vertical; SetPositionForDataPointLabel(chart, isPositionTop, dataPoint, yPosition); dataPoint.Marker.LabelStyle = (LabelStyles)dataPoint.LabelStyle; } dataPoint.Marker.CreateVisual(); if (Double.IsNaN(dataPoint.LabelAngle) || dataPoint.LabelAngle == 0) { dataPoint.Marker.TextAlignmentX = AlignmentX.Center; SetPositionForDataPointLabel(chart, isPositionTop, dataPoint, yPosition); } } dataPoint.Marker.Control = chart; dataPoint.Marker.Tag = new ElementData() { Element = dataPoint }; dataPoint.Marker.CreateVisual(); dataPoint.Marker.Visual.Opacity = (Double)dataPoint.Opacity * (Double)dataPoint.Parent.Opacity; LineChart.ApplyDefaultInteractivityForMarker(dataPoint); ObservableObject.AttachEvents2Visual(dataPoint, dataPoint, dataPoint.Marker.Visual); ObservableObject.AttachEvents2Visual(dataPoint.Parent, dataPoint, dataPoint.Marker.Visual); dataPoint._parsedToolTipText = dataPoint.TextParser(dataPoint.ToolTipText); dataPoint.AttachToolTip(chart, dataPoint, dataPoint.Marker.Visual); dataPoint.AttachHref(chart, dataPoint.Marker.Visual, dataPoint.Href, (HrefTargets)dataPoint.HrefTarget); dataPoint.SetCursor2DataPointVisualFaces(); return(dataPoint.Marker); }