1
このタスクは非常にシンプルなはずですが、何も試したことはありませんでした。私は、ボタンがクリックされたとき、およびデータが読み込まれて検証されている間に、テキストが消えるようにしようとしています。
私は再描画を強制するものではありません、以下を試してみた:イベントハンドラ内で強制的にコントロールコンテンツを再描画する方法
private delegate void InlineDelegate();
private void btnLogon_Click(object sender, RoutedEventArgs e)
{
lblInvalidLogon.Dispatcher.Invoke(new InlineDelegate(() =>
{
lblInvalidLogon.Content = string.Empty;
lblInvalidLogon.InvalidateVisual();
}), System.Windows.Threading.DispatcherPriority.Render, null);
//
// Process to verify logon credentials...
//
}
私もDispatcherPriority.Send
を試してみた、と私はそれを多くの時間を与えるために起動し、次のThread.Sleep
を配置しましたUIを更新しますが、試したことはありませんが、認証プロセスが続行されている間にUIを強制的に更新します。
ログオン検証を別のスレッドに移動する必要があります。これはUIスレッドをブロックしています。 – Phil
@Phil Yup、質問を投稿してプロジェクトに戻ったとき、それは明らかに私の脳の時間をかけて霧を止めるようになりました。 –