Bal*_*ngh 2 c# xaml button windows-8 .net-4.5
我想在C#xaml中以编程方式单击按钮.我发现没有像PerformClick这样的方法.除此之外还有什么其他选择.
实际上我有10个按钮设置x:名称像btn1,btn2,btn3等...我有一个从1到10的数字,基于我需要点击这些按钮的数字.我打算通过使用获得控制权
ParentControl.FindName('btn' + number)
Run Code Online (Sandbox Code Playgroud)
然后从那里开火.但由于Windows 8 C#中没有PerformClick方法,因此我需要替代方案.
的RaiseEvent

这是怎么做的......
假设您在XAML文件中定义了此按钮:
<Button Grid.Column="0" Grid.Row="0" x:Name="DefaultSnooze" Content="Default Snooze" Click="SendToast_Click" Height="34" Width="134"/>
Run Code Online (Sandbox Code Playgroud)
然后在您希望Click以编程方式触发事件处理程序代码的代码中执行此操作:
ButtonAutomationPeer peer = new ButtonAutomationPeer(DefaultSnooze);
IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
invokeProv.Invoke();
Run Code Online (Sandbox Code Playgroud)
我现在测试它,它的工作非常漂亮.:)
来源:如何以编程方式单击按钮