WPF:如何在单击另一个按钮时为一个按钮设置动画?

发布于 2024-12-08 12:05:39 字数 1166 浏览 0 评论 0原文

我有以下 XAML 代码:

<Button Content="Menu 1" Height="23" Name="button1" Width="75" Margin="10">
    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <Style.Triggers>
                <EventTrigger RoutedEvent="Button.MouseEnter">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="RenderTransform.(TranslateTransform.Y)" From="0" To="200" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
    <Button.RenderTransform>
        <TranslateTransform X="0" Y="0" />
    </Button.RenderTransform>
</Button>

当鼠标悬停在按钮上时,此代码会沿 Y 方向移动按钮。 但是,当我将鼠标移到另一个按钮上时,我想要相同的功能。 简而言之,假设我有 Button1 和 Button2。当我将鼠标移到 Button1 上时,Button2 应沿 Y 方向向下移动。我怎样才能做到这一点。任何人都可以提供相同的有效 XAML 代码吗?

I have the following XAML code:

<Button Content="Menu 1" Height="23" Name="button1" Width="75" Margin="10">
    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <Style.Triggers>
                <EventTrigger RoutedEvent="Button.MouseEnter">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="RenderTransform.(TranslateTransform.Y)" From="0" To="200" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
    <Button.RenderTransform>
        <TranslateTransform X="0" Y="0" />
    </Button.RenderTransform>
</Button>

This code moves the button in the Y direction when the mouse is over the button.
However, I want the same functionality when I move my mouse over another button.
In short, let's assume I have Button1 and Button2. When I move my mouse over Button1, the Button2 should move down in the Y direction. How can I achieve this. Could anyone provide a working XAML code for the same.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何以心动 2024-12-15 12:05:39

您可以子类化 Button 并添加名为 ButtonToAnimate 的属性。

在事件触发器中,将 DoubleAnimation 的 Target 指向 ButtonToAnimate。

You could subclass Button and add a property named ButtonToAnimate.

In the event trigger, point the Target of the DoubleAnimation to the ButtonToAnimate.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文