title: Why does this binding display a class name?
body: <p>What might cause the value of a Silverlight 4 DataGridTextColumn.Header to display as <em>System.Windows.Data.Binding</em> rather than the resolved bound value? It seems like a ToString is happening somewhere that displays a class name rather than the formatted value of the class.</p>
  
  <p>The binding looks like this</p>
  
  <pre><code>Header="{Binding Path=Dummy,Source={StaticResource languagingSource},Converter={StaticResource languagingConverter},ConverterParameter=vehicleDescription}"
  </code></pre>
  
  <p>and the problem doesn't lie anywhere within the binding as identical bindings, with different ConverterParameter values, work fine for Button.Content and TextBlock.Text properties within the same XAML page.</p>
  
  <p>Even creating a simple string property like this within the local data context has the same result. </p>
  
  <pre><code>public string DataGridHeaderDescription { get { return "Description"; } }
  
  Header="{Binding DataGridHeaderDescription}"
  </code></pre>
  
  <p>I've even tried adding a string format</p>
  
  <pre><code>Header="{Binding DataGridHeaderDescription,StringFormat=\{0\}}"
  </code></pre>
  
  <p>but this has no effect either.</p>