title: Binding a UserControl property to its child via ElementName results a binding error
body: <p>I have the following XAML:</p>
  
  <pre><code>&lt;UserControl x:Class="WpfWindow.MyControl"
               xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
               xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
               xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
               xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
               mc:Ignorable="d"
               d:DesignHeight="300" d:DesignWidth="300"&gt;
    &lt;UserControl.RenderTransform&gt;
      &lt;TranslateTransform X="{Binding ElementName=MySlider, Path=ActualWidth}" /&gt;
    &lt;/UserControl.RenderTransform&gt;
    &lt;Grid&gt;
      &lt;Slider x:Name="MySlider" Canvas.Left="41" Canvas.Top="86" Height="23"  Width="100" Minimum="0" Maximum="100"/&gt; 
    &lt;/Grid&gt;
  &lt;/UserControl&gt;
  </code></pre>
  
  <p>When I try to use a window with the UserControl inside I get: </p>
  
  <pre><code>System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=MySlider'. BindingExpression:Path=ActualWidth; DataItem=null; target element is 'TranslateTransform' (HashCode=53368240); target property is 'X' (type 'Double')
  </code></pre>
  
  <p>It is especially strange since using the same code directly in a Window works flawlessly.</p>
  
  <p>For now I've resolved the issue by setting the binding in code, however, I have no idea why my version doesn't work and I'd rather have everything in XAML if possible.</p>
  
  <p>Thanks!</p>