Wer beginnt, mit der WPF Anwendungen zu entwickeln, wird sicher hin und wieder einige Methoden vermissen die unter WinForms selbstverständlich waren.
So musste ich heute feststellen, dass die Methode Application.DoEvents() in der WPF nicht zur Verfügung steht.
Nach kurzem googlen habe ich hier ein Hack gefunden. Diese Lösung funktioniert recht gut, jedenfalls solange man nicht versucht die Form zu schließen während die Methode gerade abgearbeitet wird. Um eine NullReferenceException beim Schließen der Form zu vermeiden, habe ich eine Abfrage auf Null hinzugefügt:
public static void DoEvents()
{
if (Application.Current != null)
Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate { }));
}Eine weitere Möglichkeit, die Methode verfügbar zu machen, ist das Hinzufügen einer Referenz auf den .NET Namespace System.Windows.Forms
Dann kann die Methode mit
System.Windows.Forms.Application.DoEvents();
aufgerufen werden.