Hey allerseits
ich scheine irgendwie gesegnet zu sein mit schwer zu debuggenden Problemen. Hier das Szenario:
Ich möchte eigentlich bloss mit einem nichtmodalen Window (also so dass das Fenster angezeigt wird und das Programm aber weiterläuft im Code) dem User mitteilen, dass er ein bisschen Geduld haben muss...
Oben schön zu sehen mein Workaround, also erst eine Art modale MessageBox, dann das nichtmodale Fenster mit dem Hinweis "Bitte warten...".
Das ist das einzige was bis jetzt funktioniert hat.
Wenn ich die Messagebox (
Also hab ich mal versucht, es vom Dispatcher des MainWindows aufzurufen, aber es bleibt gleich...
Hat da jemand ne Ahnung was da im Busche sein könnte??
ich scheine irgendwie gesegnet zu sein mit schwer zu debuggenden Problemen. Hier das Szenario:
VB.NET-Quellcode
- Dim windowService = ServiceContainer.GetService(Of IWindowService)
- Dim WartenVM As New ViewModel.WarteAufAktionViewModel
- WartenVM.Meldung = "Bitte warten..."
- MainModule.MainDispatcher.Invoke(Sub() windowService.OpenWindow(500, 150, "Liedtexte", WartenVM, Me, False, True, Services.WindowStyle.None, Services.ResizeMode.NoResize, Services.SizeToContent.Height, Services.WindowStartupLocation.CenterScreen, "Einen Moment Geduld...")) 'Aufruf des nictmodalen Windows
- Mouse.OverrideCursor = System.Windows.Input.Cursors.Arrow
- Dim OKVM = New OKDialogViewModel
- OKVM.Meldung = "Daten aus vorheriger Musikdatenbank werden gesichert. Dies kann einige Zeit in Anspruch nehmen..."
- MainModule.MainDispatcher.Invoke(Sub() dialogService.ShowModalDialog("", OKVM, Me, True, False, Services.WindowStyle.None, Services.ResizeMode.NoResize, 500, Services.SizeToContent.Height, Services.WindowStartupLocation.CenterScreen, "")) 'Aufruf der Messagebox
- Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait
- 'System.Threading.Thread.Sleep(7500)
Ich möchte eigentlich bloss mit einem nichtmodalen Window (also so dass das Fenster angezeigt wird und das Programm aber weiterläuft im Code) dem User mitteilen, dass er ein bisschen Geduld haben muss...
Oben schön zu sehen mein Workaround, also erst eine Art modale MessageBox, dann das nichtmodale Fenster mit dem Hinweis "Bitte warten...".
Das ist das einzige was bis jetzt funktioniert hat.
Wenn ich die Messagebox (
OKVM
) weglasse, dann erscheint das Window mit "Bitte warten..." gar nicht erst. Ich habs mit einem Haltepunkt versucht und auch mit Thread.Sleep, aber es scheint so, als würde die Zeile zum Window anzeigen gar nicht existieren.Also hab ich mal versucht, es vom Dispatcher des MainWindows aufzurufen, aber es bleibt gleich...
Hat da jemand ne Ahnung was da im Busche sein könnte??