Шаблон управления может работать:
<ControlTemplate x:Key="ButtonControlTemplate1" TargetType="{x:Type Button}">
<StackPanel Height="Auto" Width="Auto">
<TextBlock Text="{TemplateBinding Content}" Foreground="Red"/>
<TextBlock Text="{TemplateBinding Tag}" Foreground="Red"/>
</StackPanel></ControlTemplate>
Я использовал TemplateBinding для получения двух изменяемых фрагментов данных. Теперь, когда вы создадите кнопку, примените Шаблон и установите привязки к вашим элементам:
<Button x:Name="BuyButton"
Margin="0,0,1,1"
IsEnabled="{Binding CanBuy}"
Template="{DynamicResource ButtonControlTemplate1}"
Content="Button"
Tag="{Binding BuyPrice}"/>
Единственное, чего не хватает, это DataContext: просто установите его в контейнер над двумя кнопками.
Я специально не пробовал, но, похоже, должно сработать. Я выбрал «Tag» выше, потому что мне нужен был второй элемент для Binding. Я хотел бы видеть различные предложения по этому поводу.
Возможно, вы также захотите разбить материал типа ForegroundColor = "Red" на стиль.