我是初学者,我正在寻找一种简单的方法,让WPF应用程序中的按钮在悬停时移动。
public MainWindow()
{
InitializeComponent();
}
private void btnNo_Click(object sender, RoutedEventArgs e)
{
}
答案 0 :(得分:0)
您可以将Button
放在Grid
中,并在按钮的Margin
事件中更改其MouseEnter
,如下所示:
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;
}
答案 1 :(得分:0)
假设您希望它在您停止悬停在它上面时返回,您可以通过在Button的IsMouseOver属性上使用样式和属性触发器在纯XAML中执行此操作。 (更典型的风格用法是将其创建为资源并在各种按钮之间共享)。
<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>