title: Move a button from point A to point B using XAML/C#
body: <p>Generally speaking what's the way to move (animate, transform, whatever words; no matter) a <code>button</code> from <code>point A</code> (by user click as a source) to <code>point B</code> (by user click as a target) in <code>C#/XAML</code>? (Imagine a board game such as like Chess in order to move a piece from <code>A</code> to <code>B</code>).</p>
  
  <p>I'm working on a project with the following specifications:</p>
  
  <p>My methodology is <code>MVVM</code>: so I've created a <code>custom button</code> (derived from <code>ButtonBase</code>) to simulate a piece which is assigned by a <code>delegate command</code> (to move) for each cell in a grid as well as <code>dependency properties</code> and <code>INotification</code> for events. Not to mentions that I've never used from <code>Canvas</code> and <code>Panel</code> in this case. I also used from <code>StoryBoard</code> which is called from within <code>dependency object</code> to trigger the animation.</p>
  
  <p>Having said that I'm looking for a way to move a <code>button</code> from <code>A</code> to <code>B</code> by user click.  Keep in mind I know about <code>Transform</code> to move an object however how could be it possible to specify a <code>source</code> (by first click) and then specify the <code>To</code> to target (by next click) and how to manage the back and forth events?</p>