title: How exactly do Attached Properties work in WPF?
body: <p>I'm a bit mystified as to how Attached Properties actually convey their values to either parent or child elements. <code>TextElement.FontFamily</code> causes child elements to inherit the value assigned to that property (a seemingly downstream operation, parent to child). <code>Grid.Column</code> causes a parent item to display that child in a particular position (a seemingly upstream operation, child to parent). How do Attached Property values know to either flow up or down? Is my conception of this incorrect, or is there a piece missing that will put all of this into perspective?</p>
  
  <pre><code>&lt;StackPanel TextElement.FontFamily="Wingdings"&gt;
      &lt;Grid&gt;
          &lt;Grid.ColumnDefinitions&gt;
              &lt;ColumnDefinition Width="*"/&gt;
              &lt;ColumnDefinition Width="*"/&gt;
          &lt;/Grid.ColumnDefinitions&gt;
  
          &lt;Button Grid.Column="1" Content="My Button"/&gt;
      &lt;/Grid&gt;
  &lt;/StackPanel&gt;
  </code></pre>