WPFのメインフォームをロードして、フォームがアパート状態にあるときに別のスレッドがデータベースからデータを取得するようにするにはどうすればよいですか?(ドラッグ可能/移動可能)
私はこれがこのようにあなたのメインフォームから新しいウィンドウを開くことで可能であることを知っています:
Private Sub openOrderWindow()
Dim OrderWindow As Orders = New Orders
OrderWindow.ShowDialog()
End Sub
Private Sub ButtonImport_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles ButtonImport.Click
Dim iThread As System.Threading.Thread = New System.Threading.Thread(AddressOf openOrderWindow)
iThread.SetApartmentState(System.Threading.ApartmentState.STA)
iThread.Start()
ListViewOrderDetail.Focus()
' Me.Close()
End Sub
'ShowDialog'を使用しているため
しかし、メインウィンドウではShowDialogを呼び出すことができません
私が試したこと:
Private Sub AccessDBFilling()
ListViewDataGrid.ItemsSource = Nothing
accessdblist = Nothing
accessdblist = accessdb.GetFromAccess()
ListViewDataGrid.ItemsSource = accessdblist
End Sub
Private Sub refresh()
ListViewDataGrid.Dispatcher.Invoke(New Action(AddressOf AccessDBFilling))
End Sub
Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
iThread = New System.Threading.Thread(AddressOf refresh)
iThread.SetApartmentState(System.Threading.ApartmentState.STA)
iThread.Start()
End Sub
私は入れてみましたMyBase.ShowDialog()
そして.Show()
そして.9000+他のもの
別のスレッドを使用してデータベースからロードすることで得られる唯一の利点は、画面をすぐに見ることができることです(ロードされるまで透明なボックスであるのとは対照的に)が、移動したり最小化したりすることはできません
ロード中に移動可能にする方法はありますか?