UI スレッドから移動できない、UI スレッドで実行される長時間実行プロセスがあります。代わりに、待機中のアニメーションを持つ 2 番目の UI スレッドを作成しようとしています。2 番目の UI スレッドを作成するために使用しているコードは次のとおりです。
Private _busyThread As Thread
Private _waitWindow As WaitWindow 'This is the window with the animation
Private Sub StartBusyIndicator(ByVal busyInfo As BusyInfo)
_busyThread = New Thread(New ThreadStart(AddressOf ThreadStartingPoint))
_busyThread.SetApartmentState(ApartmentState.STA)
_busyThread.IsBackground = True
_busyThread.Start()
End Sub
Private Function ThreadStartingPoint() As ThreadStart
_waitWindow = New WaitWindow
_waitWindow.Show()
System.Windows.Threading.Dispatcher.Run()
End Function
必要なときにこれを優雅に閉じるにはどうすればよいですか? _waitWindow
メイン UI スレッドからアクセスして閉じることができません。私が発行_busyThread.Abort()
しても、実際にはウィンドウを閉じません。