title: Why are ActualWidth and ActualHeight 0.0 in this case?
body: <p>I have a <code>Grid</code> inside a <code>Canvas</code> defined like this:</p>
  
  <pre><code>&lt;Canvas x:Name="outerCanvas"&gt;
      &lt;Grid Grid.Row="1" Name="cGrid" ShowGridLines="True" Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type Canvas}}}" Height="{Binding Path=ActualHeight, RelativeSource={RelativeSource AncestorType={x:Type Canvas}}}"&gt;
          &lt;Grid.ColumnDefinitions&gt;
              &lt;ColumnDefinition /&gt;
              &lt;ColumnDefinition/&gt;
              &lt;ColumnDefinition/&gt;
          &lt;/Grid.ColumnDefinitions&gt;
          &lt;Grid.RowDefinitions&gt;
              &lt;RowDefinition  /&gt;
              &lt;RowDefinition /&gt;
          &lt;/Grid.RowDefinitions&gt;
          &lt;Rectangle Name="rectangle1" Stroke="Black" Fill="AntiqueWhite" /&gt;
          &lt;Rectangle Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="1" Grid.RowSpan="1" Name="rectangle2" Stroke="Black" Fill="AliceBlue" /&gt;
          &lt;Rectangle Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="1" Grid.RowSpan="1" Name="rectangle3" Stroke="Black" Fill="Aqua" /&gt;
          &lt;Rectangle Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Grid.RowSpan="1" Name="rectangle4" Stroke="Black" Fill="DarkViolet" /&gt;
      &lt;/Grid&gt;
  &lt;/Canvas&gt;
  </code></pre>
  
  <p>My problem is that, on the Window constructor, after <code>InitializeComponents()</code> either <code>Grid.ColumnDefinitions[0].ActualWidth</code> or "any rectangle".<code>ActualWidth</code> are all set to 0.0 (the same for heights).  I'm not figuring out what to do to get this information. Any help?</p>
  
  <p>Observations:</p>
  
  <ol>
  <li>I'm not defining the outer canvas width and height but if I do, it doesn't solve my problem.</li>
  <li>At runtime I can see that this <code>Canvas/Grid</code> occupies the entire window space, so every rectangle inside it has <code>ActualWidth</code>s and <code>ActualHeight</code>s</li>
  <li>The grid's width/height is bound to the canvas but I tried removing this binding and my problem still persists.</li>
  </ol>