private void OnOwnerMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { FinishDrag(); if (!ValidateSelectionDragSource(e.OriginalSource) || AdornerLayer.GetAdornerLayer(Owner) == null) { return; } Owner.AddHandler(UIElement.MouseMoveEvent, new MouseEventHandler(OnOwnerMouseMove), true); Owner.LostMouseCapture += OnOwnerLostMouseCapture; Owner.PreviewMouseUp += OnOwnerPreviewMouseLeftButtonUp; Owner.LostFocus += OnOwnerLostFocus; SelectionBoxAdorner = CreateSelectionBoxAdorner(Owner, SelectionBox, e.GetPosition(Owner)); }