protected virtual void HandleMouseDown(object sender, MouseButtonEventArgs e)
{
start = e.GetPosition(this);
origin = new Point(TranslateTransform.X, TranslateTransform.Y);
foreach (UIElement child in Children)
{
if (VisualTreeHelper.HitTest(child, e.GetPosition(child)) != null)
{
SelectedUiElements.Add(child);
mouseMode = MouseMode.Selection;
}
}
if (mouseMode != MouseMode.Selection && e.ChangedButton == MouseButton.Middle)
{
Cursor = Cursors.Hand;
mouseMode = MouseMode.Panning;
}
}