2008-10-01 17 views

Antwort

11

Ein Dispatcher wird oft verwendet, um Aufrufe eines anderen Threads aufzurufen. Ein Beispiel wäre, wenn ein Hintergrund-Thread funktioniert und Sie den UI-Thread aktualisieren müssen, benötigen Sie einen Dispatcher.

+1

der Link tot ist. – frameworkninja

24

Fast jedes WPF-Element hat Thread-Affinität. Dies bedeutet, dass der Zugriff auf ein solches Element nur von dem Thread erfolgen darf, der das Element erstellt hat. Um dies zu tun, wird jedes Element, das Thread-Affinität erfordert, von der DispatcherObject-Klasse abgeleitet. Diese Klasse stellt eine Eigenschaft namens Dispatcher bereit, die das Dispatcher-Objekt zurückgibt, das dem WPF-Element zugeordnet ist.

Die Dispatcher-Klasse wird verwendet, um Arbeiten an seinem angehängten Thread auszuführen. Es hat eine Warteschlange mit Arbeitselementen und es ist verantwortlich für die Ausführung der Arbeitselemente im Dispatcher-Thread.

Sie können auf den folgenden Link einige weitere Details zu diesem Thema finden: http://blogs.microsoft.co.il/blogs/arik/archive/2010/08/12/wpf-inside-out-dispatcher.aspx