<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Height" Value="18" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid x:Name="grid" >
<Rectangle x:Name="rectangle" Fill="#02FFFFFF"/>
<Path x:Name="path" Data="M0.5,0.5 L9.5,0.5 L9.5,2.5 L0.5,2.5 z" Fill="White" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Center" Width="10" Height="3"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Fill" TargetName="rectangle" Value="#FF990D0B"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" TargetName="rectangle" Value="#33FFFFFF"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
今天上班时候 写一个很简单的事件触发事件,发现mousedown 事件死活触发不了。 后面找了一下原因, 原来坑爹的跟书写的顺序有关系, 如果
mouse down 写在第一个,就只能触发mouse move 不能触发 down 只能按顺序, 先写move 再写down 才能按照顺序触发。 不知道是不是微软的一个bug。
正确的做法就是把顺序交换一下
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" TargetName="rectangle" Value="#33FFFFFF"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Fill" TargetName="rectangle" Value="#FF990D0B"/>
</Trigger>
来源:CSDN
作者:祯吒
链接:https://blog.csdn.net/cqf696983pl/article/details/78134989