0

非モーダル情報ウィンドウを表示して、別のスレッドでスマート カードのタッチを待ちたい。スマート カードがカード リーダーに触れない限り、ユーザーの操作を防ぐために、メインの UI スレッドをブロックする必要があります。私はメインスレッドでそれを行うので:

InformationWindow infoWindow = new InformationWindow();
infoWindow.tblockInfo.Text = someInfoAboutRequieredAction;
infoWindow.Show();

Semaphore.WaitOne();

infoWindow.Close();

正常に動作し、場合によっては正常に描画されますが、情報 WPF ウィンドウが完全に描画されないことがよくあります。タイトル部分のみがあり、ウィンドウ内のコントロール (および背景色) はぶら下がっているため表示されません。

助けてください、私は何をすべきか一週間理解できませんでした

PS私は試してみましたが、InvalidateVisual()以前は役に立ちませんでしたUpdateLayout()Thread.SleepSemaphore.WaitOne()

4

1 に答える 1