title: Center text at a given point on a WPF Canvas
body: <p>I have a <code>Controls.Canvas</code> with several shapes on it and would like to add textual labels that are centered on given points (I'm drawing a tree with labelled vertices). What is the simplest way to do this programmatically in WPF?</p>
  
  <p>I have tried setting <code>RenderTransform</code> and calling <code>Controls.Canvas.SetLeft</code> etc. but neither position the label where I want it. WPF seems to support positioning only at given left, right, top and bottom coordinates and not centered on a given coordinate and the <code>Width</code> property is <code>NaN</code> and the <code>ActualWidth</code> property is <code>0.0</code> when I construct the <code>Canvas</code>.</p>