2

私はメトロ スタイルのアプリを構築中ですが、ボタン クリックをプログラムで起動する方法があるかどうかを知る必要があります。

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
        }

    }

問題は、ボタンのクリックをシミュレートする方法が見つからないように見えることです...誰か助けてもらえますか?

4

2 に答える 2

3

これを呼び出すだけで問題がありますか、それとも自動化するために任意のボタンで Click イベントを呼び出す一般的な方法を探していますか?

Go_click(this, new RoutedEventArgs());
于 2012-05-17T16:13:02.767 に答える
2

あなたはこれを試すことができます:

ButtonAutomationPeer peer = new ButtonAutomationPeer( someButton );
IInvokeProvider invokeProv =  peer.GetPattern( PatternInterface.Invoke ) as InvokeProvider;
invokeProv.Invoke();

別のオプションは次のとおりです。

SomeButton.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));

お役に立てれば!!

于 2012-05-17T15:56:29.397 に答える