void OnGridPreviewMouseDown(object sender, MouseButtonEventArgs e) { if (!IsLogicBlocked) { StartSelectionInfo.Clear(); TableViewHitInfo hitInfo = View.CalcHitInfo(e.OriginalSource as DependencyObject); if (!hitInfo.InRow && !hitInfo.InRowCell) { return; } StartSelectionInfo.MousePoint = e.GetPosition(DataArea); StartSelectionInfo.RowHandle = hitInfo.RowHandle; StartSelectionInfo.Column = hitInfo.Column; } }
void OnGridPreviewMouseUp(object sender, MouseButtonEventArgs e) { if (!IsLogicBlocked) { if (!StartSelectionInfo.IsSelectionStarted) { return; } Mouse.Capture(null); ScrollController.StopHorizontalScrolling(); ScrollController.StopVerticalScrolling(); StartSelectionInfo.Clear(); CurrentSelectionInfo.Clear(); e.Handled = true; } }