private void AssociatedObjectOnDragOver(object sender, DragEventArgs dragEventArgs) { if (_transferedType != null && dragEventArgs.Data.GetDataPresent(_transferedType)) { var data = dragEventArgs.Data.GetData(_transferedType); dragEventArgs.Effects = DragDropEffects.Move; IDropable dropable = AssociatedObject.DataContext as IDropable; if (dropable != null) { var position = dragEventArgs.GetPosition(AssociatedObject); dropable.DragOver(position.X, position.Y, data); } } }