I am assuming that you want to remove the child from stackpanel en add it as a new child to the canvas.
Have a look at this article to start
Dragging Elements in a Canvas[
^]
This is not solving all your problems but it will put you on the right track i think.
Hope this helps.