0

我有 10 个默认的 WPF 按钮。

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

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

4

2 回答 2

2

您将需要 UI 自动化框架 (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 应用程序的 Windows 开始按钮。您可以以同样的方式在您的应用中搜索按钮。

需要参考:UIAutomationClient、UIAutomationTypes

于 2013-07-19T11:25:34.270 回答
1

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

<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>
于 2013-07-19T11:07:10.650 回答