悬停时更改按钮

时间:2016-09-30 23:17:56

标签: c# wpf

我是初学者,我正在寻找一种简单的方法,让WPF应用程序中的按钮在悬停时移动。

public MainWindow()
{
    InitializeComponent();

}
private void btnNo_Click(object sender, RoutedEventArgs e)
{

}

2 个答案:

答案 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>