![](/img/trans.png)
[英]C#/XAML Error No overload for 'button_Click' matches delegate 'Windows.UI.Xaml.RoutedEventHandler'
[英]Windows 8 Button click programmatically in C# and Xaml
我想以编程方式在C#xaml中单击按钮。 我发现没有像PerformClick这样的方法。 还有什么替代方案。
实际上,我已经设置了10个带有x:Name的按钮,例如btn1,btn2,btn3等。我有一个从1到10的数字,基于该数字,我需要单击这些按钮。 我打算通过使用来获得控制
ParentControl.FindName('btn' + number)
然后从中触发事件。 但是由于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"/>
然后在您希望以编程方式触发Click
事件处理程序代码的代码后面执行此操作:
ButtonAutomationPeer peer = new ButtonAutomationPeer(DefaultSnooze);
IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
invokeProv.Invoke();
我现在对其进行了测试,并且效果很好。 :)
来源: 如何以编程方式单击按钮
您应该可以使用:
RaiseEvent(new RoutedEventArgs(Button.ClickEvent, myButton));
在XAML视图的代码隐藏中。
RaiseEvent
在任何UIElement派生的类上可用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.