Hacer objeto Seguir el mouse en MouseDown y "Stick" en MouseUp

Estoy trabajando con un proyecto que es WPF y VB.net. Quiero simular visualmente "arrastrar" un objeto (aunque no quiero usar la función de arrastrar y soltar estándar por razones de propósito).

Básicamente, tengo un objeto de etiqueta que, en su evento MouseDown, quiero que siga el cursor del mouse dentro de una cuadrícula de tamaño sólido de 640x480 (¡pero no fuera de ella!). Eso sí, esta cuadrícula se centra dentro de una ventana de pantalla completa. Una vez más, el objeto no debe seguir al mouse fuera de la cuadrícula (supongo que un "ClipToBounds = True" aquí)

Entonces, en el evento MouseUp de la etiqueta, quiero que permanezca en su posición actual o que regrese a su posición original, según lo determine el valor de una variable booleana establecida por la propiedad MouseEnter de otro objeto.

Nota, si fuera más fácil trabajar con él, puedo cambiar la cuadrícula a un lienzo en un abrir y cerrar de ojos. Supongo que sería deseable.

Entonces, después de esa larga explicación, aquí está mi pregunta (doble):

¿Cómo hago que el objeto (etiqueta) siga el cursor del mouse dentro de la cuadrícula / lienzo, pero no fuera de él? Esto debe suceder en el evento MouseDown de la etiqueta.

¿Cómo hago que el objeto se "pegue" en su posición actual? (De esto, probablemente pueda descubrir cómo hacer que vuelva a su posición original por mi cuenta.: D)

¡Mi voto a favor de quien pueda ayudarme a lograr este objetivo de la manera más eficiente! Muchas gracias a todos

Respuestas a la pregunta(3)

Su respuesta a la pregunta