У меня есть простой шаблон ControlTemplate для кнопок, который создает для них стиль ссылок:
<ControlTemplate x:Key="LinkTemplate" TargetType="{x:Type Button}">
<TextBlock Text="{TemplateBinding Content}">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="Blue" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="TextDecorations" Value="Underline" />
<Setter Property="Cursor" Value="Hand" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="Gray" />
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</ControlTemplate>
Это работает нормально, но проблема возникает, когда я хочу использовать свойство ContentStringFormat для форматирования содержимого кнопок. Поскольку TextBlock не имеет свойства ContentStringFormat, я не могу использовать привязку шаблона.
Я также пытался использовать StringFormat при привязке содержимого кнопки, но, похоже, он игнорируется, и исходный текст содержимого передается в TextBlock в привязке шаблона.
Полагаю, я мог бы использовать преобразованное значение и передать ему ContentStringFormat в качестве параметра, но это не так.
Есть ли способ сделать это, используя чисто XAML, или мне просто использовать конвертер значений?