private void FigCell_OnMouseDown(object sender, MouseButtonEventArgs e) { var cell = e.GetSourceDataContext<Cell>(); if (_animMovingBall != null || e.ChangedButton != MouseButton.Left) return; if (cell.IsAvailable) { Cell selectedCell = _table.SelectedCell; Ball selectedBall = selectedCell.Ball; _table.SelectedCell = null; AnimateMoveBall(selectedBall, selectedCell, cell); } else if (cell.Ball != null && !cell.Ball.IsNew) { _table.SelectedCell = cell; } }