Arrastre y suelte controles personalizados entre celdas en una cuadrícula en WPF

Tengo algunos controles personalizados que se agregan dinámicamente a una cuadrícula personalizada. Estos controles pueden abarcar varias columnas y filas (que son todas del mismo tamaño). Me gustaría arrastrar y soltar entre las filas y columnas. Puedo arrastrar los controles individuales, pero pueden moverse a cualquier parte sin límite. Incluso fuera de la red. Me gustaría hacerlo para que solo se pueda arrastrar dentro de la cuadrícula Y se ajuste a la columna / fila a la que se arrastra.

¿Hay alguna manera fácil de hacer esto?

Honestamente, si pudiera obtener la fila / columna actual que terminó, entonces todo lo que tendría que hacer es configurar la columna / fila para ellos y eso probablemente lo haría y luego solo preocuparme por mantenerlo dentro de la cuadrícula.

Respuestas a la pregunta(2)

Su respuesta a la pregunta