title: Hit testing child controls added to a canvas does not work
body: <p>I am trying to do hit testing on a collection of user controls added to a canvas at runtime.</p>
  
  <p>My canvas:</p>
  
  <pre><code>&lt;Canvas x:Name="LayoutRoot" Background="White"&gt;
      &lt;Canvas  x:Name="Carrier" Canvas.ZIndex="-1"&gt;
      &lt;/Canvas&gt;
  &lt;/Canvas&gt;
  </code></pre>
  
  <p>My canvas code:</p>
  
  <pre><code>    public MainPage()
      {
          InitializeComponent();
  
          var uiElement = new MyUserControl();
          this.Carrier.Children.Add(uiElement);
  
          MouseLeftButtonDown += MouseLeftButtonDownHandler;
      }
  
      private List&lt;UIElement&gt; HitSprite(Point p)
      {
          var hitElements = 
             VisualTreeHelper.FindElementsInHostCoordinates(p, this.Carrier) as List&lt;UIElement&gt;;
  
          return hitElements.Count &gt; 0 ? hitElements : null;
      }
  
      private void MouseLeftButtonDownHandler(object sender, MouseButtonEventArgs e)
      {
          var list = HitSprite(e.GetPosition(this.LayoutRoot));
      }
  </code></pre>
  
  <p>My user control:</p>
  
  <pre><code>&lt;Canvas x:Name="Container" AllowDrop="True"&gt;
      &lt;StackPanel Name="Description" Height="65" Canvas.ZIndex="2" IsHitTestVisible="False"&gt;
          &lt;TextBlock Text="Testing" x:Name="Name" FontSize="12" FontWeight="Bold" HorizontalAlignment="Center" IsHitTestVisible="False"/&gt;
  
          &lt;Border Background="Green"&gt;
              &lt;Image x:Name="Body" Stretch="None" Canvas.ZIndex="0" Height="20" Width="20"&gt;
              &lt;/Image&gt;
          &lt;/Border&gt;
      &lt;/StackPanel&gt;
  &lt;/Canvas&gt;
  </code></pre>
  
  <p>I've tried various combinations of Carrier and LayoutRoot for GetPoint and FindElementsInHostCoordinates but the elements returned are always empty.</p>
  
  <p>What am I doing wrong?</p>