private void OnAssociatedObjectMouseLeftButtonDown(object sender, MouseButtonEventArgs mouseButtonEventArgs)
        {
            if (ExecuteOnMovementEnd != null)
            {
                if (ExecuteOnMovementEnd.CanExecute(null))
                {
                    InitDrag(mouseButtonEventArgs.GetPosition(container));
                }
            }

            mouseButtonEventArgs.Handled = true;
        }
        private void EndDrag()
        {
            if (mouseIsDown)
            {
                if (ExecuteOnMovementEnd != null)
                {
                    if (ExecuteOnMovementEnd.CanExecute(null))
                    {
                        ExecuteOnMovementEnd.Execute(null);
                    }
                }
            }

            mouseIsDown = false;
            Mouse.Capture(null);
        }