以下の xaml は正常に動作します。
<Style x:Key="TopButton" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Path Data="{StaticResource TopCube}" >
<Path.Style>
<Style>
<Setter Property="Path.Fill" Value="#414042" />
<Style.Triggers>
<Trigger Property="Canvas.IsMouseOver" Value="True">
<Setter Property="Path.Fill" Value="{StaticResource HoveredGradient}" />
</Trigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
しかし、Value="#414042" を Value="{TemplateBinding Background}" に置き換えると、「背景が認識されません」というエラーが表示されます。Value="{TemplateBinding Button.Background}" に変更すると、正常にコンパイルされますが、Setter.Value でランタイム XAMLparseException が発生します。
ここで何が欠けていますか?