繁体   English   中英

Windows 8 Button在C#和Xaml中以编程方式单击

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM