title: Using ContentStringFormat property with TextBlock in ControlTemplate
body: <p>I have a simple ControlTemplate for buttons which creates a link-like look and feel for them:</p>
  
  <pre><code> &lt;ControlTemplate x:Key="LinkTemplate" TargetType="{x:Type Button}"&gt;
      &lt;TextBlock Text="{TemplateBinding Content}"&gt;
          &lt;TextBlock.Style&gt;
              &lt;Style TargetType="{x:Type TextBlock}"&gt;
                  &lt;Setter Property="Foreground" Value="Blue" /&gt;
                  &lt;Style.Triggers&gt;
                      &lt;Trigger Property="IsMouseOver" Value="True"&gt;
                          &lt;Setter Property="TextDecorations" Value="Underline" /&gt;
                          &lt;Setter Property="Cursor" Value="Hand" /&gt;
                      &lt;/Trigger&gt;
                      &lt;Trigger Property="IsEnabled" Value="False"&gt;
                          &lt;Setter Property="Foreground" Value="Gray" /&gt;
                      &lt;/Trigger&gt;
                  &lt;/Style.Triggers&gt;
              &lt;/Style&gt;
          &lt;/TextBlock.Style&gt;
      &lt;/TextBlock&gt;
  &lt;/ControlTemplate&gt;
  </code></pre>
  
  <p>This works fine, but the problem arises when I want to use ContentStringFormat property to format buttons' contents. Since TextBlock doesn't have ContentStringFormat property I can't use template binding.</p>
  
  <p>I also tried using StringFormat when binding button's content, but it seems to be ignored and original content text is passed to TextBlock in template binding.</p>
  
  <p>I guess I could use value converted and pass ContentStringFormat to it as parameter, but it doesn't feel right. </p>
  
  <p>Is there a way to do this using purely XAML or should I just use value converter?</p>