/// <summary> /// Called on mouse move events. /// </summary> /// <param name="args">An instance that contains the event data.</param> protected override void OnMouseMoved(MouseMovedEventArgs args) { base.OnMouseMoved(args); if (args.Handled) { return; } if (ShowDynamicTooltips) { string tooltip = null; var hitArgs = new HitTestArguments(new ScreenPoint(args.X, args.Y), MouseHitTolerance); foreach (var result in ActualModel.HitTest(hitArgs)) { var plotElement = result.Element as PlotElement; if (plotElement != null && !String.IsNullOrEmpty(plotElement.ToolTip)) { tooltip = String.IsNullOrEmpty(tooltip) ? plotElement.ToolTip : tooltip + Environment.NewLine + plotElement.ToolTip; } } TooltipText = tooltip; } args.Handled = ActualController.HandleMouseMove(this, args.ToOxyMouseEventArgs()); }