private HitTestFilterBehavior HitTestFilter(DependencyObject dependencyObject) { if (dependencyObject is VisualizationPanelViewBase) { this.hitTestResult = dependencyObject as VisualizationPanelViewBase; return(HitTestFilterBehavior.Stop); } return(HitTestFilterBehavior.Continue); }
private VisualizationPanel GetVisualizationPanelUnderMouse(Point mousePosition) { // Find out if the mouse is above an existing Visualization Panel this.hitTestResult = null; VisualTreeHelper.HitTest( this.Items, new HitTestFilterCallback(this.HitTestFilter), new HitTestResultCallback(this.HitTestResultCallback), new PointHitTestParameters(mousePosition)); // Get the visualization panel that the stream was dropped over (if any) return(this.hitTestResult != null ? this.hitTestResult.DataContext as VisualizationPanel : null); }