非モーダル情報ウィンドウを表示して、別のスレッドでスマート カードのタッチを待ちたい。スマート カードがカード リーダーに触れない限り、ユーザーの操作を防ぐために、メインの UI スレッドをブロックする必要があります。私はメインスレッドでそれを行うので:
InformationWindow infoWindow = new InformationWindow();
infoWindow.tblockInfo.Text = someInfoAboutRequieredAction;
infoWindow.Show();
Semaphore.WaitOne();
infoWindow.Close();
正常に動作し、場合によっては正常に描画されますが、情報 WPF ウィンドウが完全に描画されないことがよくあります。タイトル部分のみがあり、ウィンドウ内のコントロール (および背景色) はぶら下がっているため表示されません。
助けてください、私は何をすべきか一週間理解できませんでした
PS私は試してみましたが、InvalidateVisual()
以前は役に立ちませんでしたUpdateLayout()
Thread.Sleep
Semaphore.WaitOne()