title: How do I pin one control below another in Silverlight?
body: <p>I have a project that uses a <code>DataGrid</code> with a custom template so that I can add a special row to the bottom of the data rows. I would like this special row to be pinned under the last row but not as part of the <code>ScrollViewer</code>, such that it remains pinned under the last row until the bottom of the special row hits the bottom of the data grid, then I would like the rows region to size to the space inbetween and scroll accordingly, with the special row always visible.</p>
  
  <p>So far, I have my special row as part of the <code>ScrollViewer</code> along with the <code>RowsPresenter</code>. Both the presenter and the special row are in auto-sized rows of a <code>Grid</code> within the <code>ScrollViewer</code>, with the <code>ScrollViewer</code> in a star-sized grid row so that the scrollbar will appear when it runs out of space. How do I get from this, where the rows and special row scroll together to where I want to be, where the rows scroll, but the special row is pinned at the bottom and always visible?</p>
  
  <p>Although my example uses a <code>DataGrid</code>, I am sure this can be simplified down to just a scrollable element of varying height, and a control pinned beneath it. So far, I imagine I need a <code>Canvas</code> rather than a <code>Grid</code> to host my <code>ScrollViewer</code> and companion special row, with some logic to adjust heights and positions when the <code>ScrollViewer</code> grows (if I can detect that), but I haven't yet tried this. Is there a better way or is the <code>Canvas</code> approach the best one available?</p>