我有 10 个默认的 WPF 按钮。
在某些特定情况下,我必须从我的视图模型中模拟\播放单击按钮的动画。(演示模式下的应用程序并向用户演示其工作原理。)
我不知道如何模仿默认按钮点击,有什么想法吗?
我有 10 个默认的 WPF 按钮。
在某些特定情况下,我必须从我的视图模型中模拟\播放单击按钮的动画。(演示模式下的应用程序并向用户演示其工作原理。)
我不知道如何模仿默认按钮点击,有什么想法吗?
您将需要 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
如果我明白你想得到什么。您可以为所有按钮设置默认样式:
<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>