我目前已经设置了按钮设置以在鼠标悬停时更改图像,但是现在我想知道是否可以在鼠标悬停时执行方法。当鼠标悬停在按钮上但没有运气时,我一直在尝试执行一个简单的方法来显示一个消息框。
这是我目前的按钮样式和工具提示的代码:
<Style x:Key="btnHoliday" TargetType="{x:Type Button}">
<Setter Property="IsEnabled" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Image x:Name="PART_img" Source="C:\Users\Development\Documents\Visual Studio 2013\Projects\Program\Resources\Icons\Holiday.png" />
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="PART_img"
Property="Source"
Value="C:\Users\Development\Documents\Visual Studio 2013\Projects\Program\Resources\Icons\HolidayAlt.png" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
和工具提示的代码
<Button x:Name="btnHoliday" Style="{StaticResource btnHoliday}"
HorizontalAlignment="Left" Margin="657,19,0,0" VerticalAlignment="Top" Width="64" Height="64" ToolTipService.ShowDuration="12000">
<Button.ToolTip>
<StackPanel>
<TextBlock FontWeight="Bold" FontSize="12" Margin="0,0,0,5">Launch Holidays</TextBlock>
<TextBlock>
Allows you to Book/View Holidays, Check
<LineBreak />
the status of pending Bookings and view
<LineBreak />
Holidays Remaining.
</TextBlock>
<Border BorderBrush="Silver" BorderThickness="0,1,0,0" Margin="0,8" />
<WrapPanel>
<TextBlock FontStyle="Italic">Click to launch.</TextBlock>
</WrapPanel>
</StackPanel>
</Button.ToolTip>
</Button>
答案 0 :(得分:0)
在开始实现任何花哨之前,尝试使用MouseEnter / MouseLeave事件,看看是否足够。
修改强>:
将其添加到按钮。
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseEnter">
<in:CallMethodAction MethodName="Foo" TargetObject="{Binding}" />
</i:EventTrigger>
</i:Interaction.Triggers>
导入Blend.Interctivity nuget。
答案 1 :(得分:0)
感谢您的帮助,但我设法通过创建一个只使用Messagebox的方法来确保它正在运行来解决这个问题。
private void btnHoliday_MouseEnter(object sender, MouseEventArgs e)
{
MessageBox.Show("working");
}
然后将所需事件分配给刚使用特定按钮上的XAML代码中的MouseEnter =“btnHoliday_MouseEnter”创建的方法。
<Button x:Name="btnHoliday" MouseEnter="btnHoliday_MouseEnter" Style="{StaticResource btnHoliday}" HorizontalAlignment="Left" Margin="657,19,0,0" VerticalAlignment="Top" Width="64" Height="64" ToolTipService.ShowDuration="12000">