Проблема в том, что кнопка предназначена для содержания, а не текста - это своего рода ContentControl. Итак, для отображения содержимого в вашем шаблоне должно быть:
<ContentPresenter x:Name="contentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"/>
ИЛИ , вы можете создать пользовательский элемент управления на основе кнопки, добавить к нему свойство Text, использовать текущий шаблон TextBlock в шаблоне (но с Text="{Binding Text}"
) и оставьте ContentPresenter вне своего шаблона. Создание пользовательского элемента управления немного сложнее, чем просто создание шаблона для существующего, но это действительно лучший способ получить именно то, что вы хотите.