での非同期は、だから私はそれをクリックしたときに実行されるボタンと機能の署名を持っています。私はもちろん、DateTimeを使用しています。私はそれが得ている2つのパラメータのためにそれを動作させる方法を知りたいだけです。コードを使用してボタンを押すと、ボタンの機能は、C#
編集:
は、だから私はいくつかの答えを試みたが、私は毎回例外を取得。 intresting部分は、私が実際にボタンをクリックしたときに例外が起こっていないということです。ちょうど私がそれを呼び出そうとしている時です。コードは実際には私のコードではなく、Microsoftのopensanプロジェクトからです。 コード:
private async void StartCamera()
{
if (!CameraList.HasItems)
{
MessageArea.Text = "No cameras found; cannot start processing";
return;
}
// Clean leading/trailing spaces in API keys.
Properties.Settings.Default.FaceAPIKey = Properties.Settings.Default.FaceAPIKey.Trim();
Properties.Settings.Default.EmotionAPIKey = Properties.Settings.Default.EmotionAPIKey.Trim();
Properties.Settings.Default.VisionAPIKey = Properties.Settings.Default.VisionAPIKey.Trim();
// Create API clients.
_faceClient = new FaceServiceClient(Properties.Settings.Default.FaceAPIKey);
_emotionClient = new EmotionServiceClient(Properties.Settings.Default.EmotionAPIKey);
_visionClient = new VisionServiceClient(Properties.Settings.Default.VisionAPIKey);
// How often to analyze.
_grabber.TriggerAnalysisOnInterval(Properties.Settings.Default.AnalysisInterval);
// Reset message.
MessageArea.Text = "";
// Record start time, for auto-stop
_startTime = DateTime.Now;
await _grabber.StartProcessingCameraAsync(CameraList.SelectedIndex);
}
private async void StartButton_Click(object sender, RoutedEventArgs e)
{
StartCamera();
}
私はStartCamera方法がもともとありませんでしたが示唆されたとして、関数の非パラメータの使用を作成するために追加されたことを追加する必要があります。私は、例えば使用して、それを起動しようとすると、
私はいつもそれにInvalidOperationExceptionが出る:
StartButton.RaiseEvent(new RoutedEventArgs(System.Windows.Controls.Primitives.ButtonBase.ClickEvent));
この例外の情報は次のとおりです。{ "別のスレッドがそれを所有しているので、呼び出し元のスレッドがこのオブジェクトにアクセスすることはできません"}
私はこの例外が本当にボタンを押しても問題ないのですが、なぜそれを呼び出すのか理解できないと思います。誰もが将来にintrestedている場合
Invoking an onclick on button threw code in a different thread in C#
:
編集2
ありがとう:
質問が続きます。
あなたが実際にボタンが押される必要があります - またはあなただけのクリックイベント内のコードを実行する必要がありますか? – PaulF
'StartButton_click(null、null)'を実行するタイマーを設定するのはなぜですか? – vipersassassin
ちょうどコード、私はヘッダーのこの種のちょうど新しいと思う、もし私がnullを渡すなら、それはうまくいくはずですか? – NotSure