WPF播放“;单击“;按钮上的动画.模拟代码中的点击

本文关键字:代码 模拟 播放 单击 按钮 WPF 动画 | 更新日期: 2023-09-27 18:23:50

我有10个默认的WPF按钮。

在某些特定情况下,我必须从我的视图模型中模拟''播放点击按钮的动画。(演示模式下的应用程序,并向用户演示其工作原理。)

我不知道如何模仿默认按钮点击,有什么想法吗?

WPF播放“;单击“;按钮上的动画.模拟代码中的点击

您需要UI Automation Framework(System.Windows.Automation)才能通过代码单击按钮。

var element = AutomationElement.RootElement.FindFirst(
                TreeScope.Descendants,
                new AndCondition(new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button), new PropertyCondition(AutomationElement.NameProperty, "Start", PropertyConditionFlags.IgnoreCase))
            );
var pattern = (InvokePattern)element.GetCurrentPattern(InvokePattern.Pattern);
pattern.Invoke();

此代码将单击WPF应用程序的窗口启动按钮。你可以用同样的方式在应用程序中搜索按钮。

所需参考:UIAutomationClient、UIAutomationTypes

如果我理解你想要得到什么。您可以为所有按钮设置默认样式:

<Style TargetType="{x:Type Button}">
    <Style.Triggers>
        <Trigger Property="Button.IsPressed" Value="True">
            <Trigger.ExitActions>
                <BeginStoryboard>
                    <Storyboard>
                        ...
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.ExitActions>
        </Trigger>
    </Style.Triggers>
</Style>