私は次のスタイルを持っています:
<Style x:Key="WindowButtonTriggers" TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource MainColorBrush}" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="{StaticResource MainColorBrush}" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="MinimizeButton" TargetType="Button" BasedOn="{StaticResource WindowButtonTriggers}">
<Setter Property="Background" Value="{StaticResource WhiteBrush}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Canvas x:Name="appbar_minus" Width="48" Height="48" Clip="F1 M 0,0L 48,0L 48,48L 0,48L 0,0" Background="Transparent" UseLayoutRounding="False">
<Rectangle Width="24" Height="4" Canvas.Left="12" Canvas.Top="24" Stretch="Fill" Fill="{TemplateBinding Background}" />
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="CloseButton" TargetType="Button" BasedOn="{StaticResource WindowButtonTriggers}">
<Setter Property="Background" Value="{StaticResource WhiteBrush}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Canvas x:Name="appbar_close" Width="48" Height="48" Clip="F1 M 0,0L 48,0L 48,48L 0,48L 0,0" Background="Transparent">
<Path Width="20" Height="20" Canvas.Left="14" Canvas.Top="14" Stretch="Fill" Fill="{TemplateBinding Background}" Data="F1 M 17,14L 24,21L 30.9999,14.0001L 33.9999,17.0001L 27,24L 33.9999,31L 31,34L 24,27L 17,34L 14,31L 21,24L 14,17L 17,14 Z "/>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
スタイル「MinimizeButton」でボタンを作成すると正常に動作しますが (マウスをボタンの上に置くと色が変わります)、スタイル「CloseButton」でボタンを作成すると機能せず、理由がわかりません。彼らはほとんど同じスタイルです。
どんな助けでも大歓迎です
編集
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<my:Menu Grid.Column="0" BorderThickness="0,0,1,0" BorderBrush="#FF777777"/>
<WrapPanel Grid.Column="1" VerticalAlignment="Center" Margin="4,0,0,0">
<Button Style="{StaticResource MinimizeButton}" />
<Button Style="{StaticResource CloseButton}" Command="Close" />
</WrapPanel>
</Grid>