2

C# xaml でプログラムでボタンをクリックしたい。PerformClick のようなメソッドがないことがわかりました。それに代わるものは他に何ですか。

実際には、btn1、btn2、btn3 などの x:Name を持つ 10 個のボタンのセットがあります。これらのボタンをクリックする必要があるその番号に基づいて、1 から 10 までの番号があります。を使用して制御を取得することを計画していました

ParentControl.FindName('btn' + number)

そこからイベントを発生させます。しかし、Windows 8 C# には PerformClick メソッドがないため、これに代わるものが必要です。

Raiseevent ここに画像の説明を入力

4

2 に答える 2

6

方法は次のとおりです...

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();

私は今それをテストしました、そしてそれは美しく働きます。:)


出典:プログラムでボタンをクリックする方法

于 2014-04-05T19:08:07.503 に答える
-1

次を使用できるはずです。

RaiseEvent(new RoutedEventArgs(Button.ClickEvent, myButton));

XAMLビューのコードビハインド。

RaiseEventUIElementから派生したクラスで使用できます。

于 2012-09-20T09:44:58.210 に答える