鼠标悬停时改变按钮
本文关键字:按钮 改变 悬停 鼠标 | 更新日期: 2023-09-27 18:09:40
我是一个初学者,我正在寻找一种简单的方法来使WPF应用程序中的按钮在悬停时移动。
public MainWindow()
{
InitializeComponent();
}
private void btnNo_Click(object sender, RoutedEventArgs e)
{
}
您可以将Button
放在Grid
中,并在按钮的MouseEnter
事件中更改其Margin
,如下所示:
private void ChangePosition(object sender, RoutedEventArgs e)
{
var button = (Button)sender;
var newPosition = new Thickness(10, 90, 40, 80); // assuming this is your new position
button.Margin = newPosition;
}
假设您想让它在停止悬停时向后移动,您可以在纯XAML中通过在按钮的IsMouseOver属性上使用样式和属性触发器来实现这一点。(样式更典型的用法是将其创建为资源,并在各种按钮之间共享)。
<Button x:Name="button" Content="Button" Height="40" Width="60">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="RenderTransform">
<Setter.Value>
<TranslateTransform X="10" Y="10"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>