我正在构建一个都市风格的应用程序,我需要知道是否有办法以编程方式触发按钮点击。
我在我的xaml中有这个PasswordBox和按钮:
<PasswordBox IsPasswordRevealButtonEnabled="True" KeyDown="On_text_KeyDown" x:Name="SomePW" FontSize="50" KeyDown="On_text_KeyDown" Margin="0,0,0,190" Height="67" Width="363"/>
<Button Background="White" x:Name="Button_Go" Foreground="Black" Margin="20,0,0,190" Content="Go" FontSize="20" Click="Go_click" Height="67" Width="60"/>
在我的C#代码中,这是在PasswordBox中处理按键的功能:
private void On_text_KeyDown(object sender, RoutedEventArgs e)
{
KeyEventArgs K = (KeyEventArgs)e;
if (K.Key == Windows.System.VirtualKey.Enter)
{
//<TO-DO> Simulate Button Click Here
}
}
问题是我似乎无法找到模拟按钮点击的方法......有人可以帮忙吗?
答案 0 :(得分:3)
简单地调用它是否有问题,或者您是否正在寻找一种在任何按钮上调用Click事件的通用方法,也许是为了自动化它?
Go_click(this, new RoutedEventArgs());
答案 1 :(得分:2)
你可以试试这个:
ButtonAutomationPeer peer = new ButtonAutomationPeer( someButton );
IInvokeProvider invokeProv = peer.GetPattern( PatternInterface.Invoke ) as InvokeProvider;
invokeProv.Invoke();
另一种选择如下:
SomeButton.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
希望这会有所帮助!!