我有10个默认的WPF按钮。
在某些特定情况下,我必须从我的视图模型中模拟\播放点击按钮的动画。 (在演示模式下应用并向用户演示其工作原理。)
我不知道如何模仿默认按钮点击,任何想法?
答案 0 :(得分: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
答案 1 :(得分: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>