Проблема была исправлена
У меня проблема с использованием ControlTemplate. Я хочу «реструктурировать» кнопку, фактически в 2 столбца, используя сетку. Однако это не проблема. Используя TemplateBindning и ContentPresenter, я не могу заставить эту работу работать.
Я смотрел на следующий пример MS для ControlTemplates (https://docs.microsoft.com/en-us/dotnet/desktop-wpf/themes/how-to-create-apply-template), и, похоже, он работает нормально, тем не менее, я не могу заставить свой код работать, единственное отличие состоит в том, что я пытаюсь «перестроить» кнопку как таковую, поскольку вместо эллипса я использую прямоугольник, и поэтому я считаю, что это в чем проблема, но я не понимаю, почему она не работает? (Даже после поиска в Интернете некоторое время).
Вот мой код ControlTemplate:
<Window.Resources>
<ControlTemplate x:Key="taskButton" TargetType="Button">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Rectangle Height="50" Fill="{TemplateBinding Background}"/>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Window.Resources>
Фактический XAML для кнопки:
<Button Template="{StaticResource taskButton}" Background="Blue">Hello</Button>
Но это не похоже на работу? Кажется, это признает части прямоугольника, так как контур кнопки на конструкторе увеличивается до 50px, и контур сетки можно увидеть, но содержимое и цвет не меняются.
Я относительно новый для ControlTemplates, и поэтому любая помощь здесь будет высоко ценится.