ボタンがクリックされたときにかなり複雑な計算を行うアプリケーションがあります。私はまだこのコードをより効率的にしようとしていますが、それまでの間、UI のラベルを更新して、ボタンがクリックされ、計算が進行中であることを示すユーザー フィードバックを提供したいと考えています。
クリック イベントが完了するまで UI は更新されないため、クリック イベントのコードがトリガーされる直前に呼び出されるイベントにコードを配置する必要があります。
これまでのところPreviewMouseLeftButtonDown
、クリックイベントが実行される前に呼び出されるイベントを使用してラベルを更新しています。これはマウスクリックで機能します。
ただし、ボタンにフォーカスがあるときにユーザーが Enter キーを押すと、PreviewKeyDown
ANDKeyDown
イベントがトリガーされないか、少なくとも Click イベントがトリガーされる前にトリガーされないように見えます。
Enterキーが押されたときにラベルを更新するために使用できるイベントは何ですか?または、クリックイベントのコードが実行される前にラベルを更新する別の方法を知っていますか?
PreviewKeyDown
更新:イベントがイベントの前にトリガーされることに気付きましたが、イベント コードが実行さclick
れる前にラベルが更新されていません。click
私のコードに問題はありません。
private void Button1_KeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.Key == Key.Return || e.Key == Key.Enter)
{
lblMessage.Content = "Loading...";
}
}
catch (Exception)
{
}
}