WPF - 按下按钮时的外部效果
我在WPF中有一个按钮,当按下按钮时,它会产生一个外部效果。然而,当按钮没有被按下时,效果发生,只有按下按钮时,我会如何使效果发生?WPF - 按下按钮时的外部效果
这是我的XAML:
<Button.Effect>
<DropShadowEffect
BlurRadius="20" ShadowDepth="0" Color="DarkBlue">
</DropShadowEffect>
</Button.Effect>
</Button>
这是我编辑的代码:
<Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="147,131,0,0" VerticalAlignment="Top" Width="75" PreviewMouseDown="button_PreviewMouseDown">
<Style x:Name="Triggers" TargetType ="Button">
<Style.Triggers>
<Trigger Property="IsPressed" Value="true">
<Button.Effect>
<DropShadowEffect
BlurRadius="20" ShadowDepth="0" Color="DarkBlue">
</DropShadowEffect>
</Button.Effect>
</Trigger>
</Style.Triggers>
</Style>
</Button>
谁能告诉我,为什么它不工作?
编辑:
<menu:HomeButton x:Name="BtnHome" PreviewMouseDown="BtnHome_PreviewMouseDown" TouchDown="BtnHome_TouchDown" >
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsPressed" Value="true">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect
BlurRadius="20" ShadowDepth="0" Color="DarkBlue"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</menu:HomeButton>
可以使用Style
属性和触发IsPressed
:
<Button Content="Button">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect BlurRadius="20" ShadowDepth="0" Color="DarkBlue"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
你可以看看我编辑的代码:它是一样的,但不起作用 –
嗯,我能想到的唯一区别是'true'改为'True',你可以试试看它是否有效。如果没有,是否出现错误或按下时不显示阴影? –
样式元素应该放在
你想让它更改按压持续时间,还是你想让它保持开启/关闭状态? –
从片段中我相信你已经直接添加了效果,这意味着它总是会有效果。你已经在触发器中添加了这个代码,例如EventTrigger。查看示例http://www.tutorialspoint.com/wpf/wpf_triggers.htm – AsitK
我只希望在按下按钮时发生效果。我尝试添加属性,但它不起作用 –