我有一个带有图像的按钮,如下所示:
<Button Width="22" Height="22" Command="{Binding PreviousCommand}">
<Button.Template>
<ControlTemplate>
<Image Source="C:\Users\abcdef\Desktop\Slide-To-Left-Arrow-24.png"></Image>
</ControlTemplate>
</Button.Template>
<Button.InputBindings>
<KeyBinding Key="Up" Command="{Binding PreviousCommand}" Modifiers="Alt+Shift" />
</Button.InputBindings>
</Button>
我想应用一些鼠标悬停效果来识别按钮是可点击/可聚焦的。
我尝试按如下方式添加触发器,但它不起作用:
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Black" />
</Trigger>
</ControlTemplate.Triggers>
它不起作用。我需要做什么?请帮帮我。
您的控件模板包括only此时图像的背景,因此您无法更改背景(通过触发器)。如果您想添加背景更改,则需要扩展您的ControlTemplate
一点。尝试这样的事情:
<Button.Template>
<ControlTemplate>
<Grid x:Name="bg">
<Image Margin="4" Source="C:\Users\dheeraj.dilip.awale\Desktop\Slide-To-Left-Arrow-24.png"></Image>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Target="bg" Property="Background" Value="Black" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
这只是一个很简单如何利用上面显示的触发器的示例。这一切所做的只是添加一个Grid
在图像和一个Margin
到图像,以便该部分Grid
是可见的。然后它使用Target
的财产Setter
来分配Background
of the Grid
当用户将鼠标悬停在按钮上时。您当然可以用您的ControlTemplate
提供其他类型的视觉提示,但希望这能帮助您入门。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)