DragMove is a blocking event ending with MouseLeftButtonUp. The correct behavior can be induced using
void myRect_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
IsDragging = true;
DragMove();
myRect.RaiseEvent(new MouseButtonEventArgs(e.MouseDevice, e.Timestamp, MouseButton.Left)
{
RoutedEvent = MouseLeftButtonUpEvent
});
}
Also see C# WPF - DragMove and click