void CircularGaugeControl_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { CircularGaugeControl gauge = sender as CircularGaugeControl; if(gauge != null) { CircularGaugeHitInfo hitInfo = gauge.CalcHitInfo(e.GetPosition(gauge)); if(hitInfo.InNeedle) selectedNeedle = hitInfo.Needle; } }
void CircularGaugeControl_MouseMove(object sender, MouseEventArgs e) { CircularGaugeControl gauge = (CircularGaugeControl)sender; ArcScaleNeedle currentSelectedNeedle = selectedNeedle != null ? selectedNeedle : gauge.CalcHitInfo(e.GetPosition(gauge)).Needle; if(currentSelectedNeedle != null) ShowTooltip(currentSelectedNeedle, this, e.GetPosition(this)); else HideTooltip(); }