Ich benutze PushFrame, um sicherzustellen, dass mein Fenster fertig gezeichnet wird, bevor zusätzlicher Code ausgeführt wird. Meine Anwendung hat einige zeitkritische Funktionen, die erfordern, dass die Fenster aktualisiert wurden, bevor ich weiter Code ausführe.PushFrame sperrt das WPF-Fenster, wenn der Benutzer das Fenster bewegt
ich die Probe von Msdn So verwenden: http://msdn.microsoft.com/en-us/library/vstudio/system.windows.threading.dispatcher.pushframe(v=vs.110).aspx
die großen Werke, mit der Ausnahme, wenn ein Benutzer mein Fenster schleppt, wenn dieser Code die Fenster hängt ausführt und Sie können es nur mit einem ctrl- zurück alt-del.
Irgendwelche Ideen?
klingt wirklich peinlich. Warum machst du nicht einfach 'Dispatcher.BeginInvoke()' mit der richtigen 'DispatcherPriority'? –
Das ist der einzige Weg zu garantieren, dass Sie tatsächlich auf den Bildschirm gemalt haben, bevor Sie zurückkehren. Sie wissen, dass Startaufruf asynchron ist? Wenn überhaupt, möchte ich Invoke aufrufen, aber selbst damit sind Sie immer noch von den tatsächlichen Paint-Updates, die der Dispatcher in seiner eigenen Zeit bearbeitet, abstrahiert. –
nicht wirklich. Die Verwendung von 'DispatcherPriority.ApplicationIdle' garantiert, dass Ihr Code aufgerufen wird, nachdem alles andere abgeschlossen ist. Übrigens klingt das Wort "gemalt" auch nach Winforms. Was versuchst du eigentlich? –