Per Mausklick bewerten und Feedback geben
MSDN
MSDN Library
.NET Entwicklung
.NET Framework 3.5
.NET Framework
Dispatcher-Klasse
 Invoke-Methode
Alle reduzieren/Alle erweitern Alle reduzieren
Members FilterMembers Filter
Frameworks FilterFrameworks Filter
Diese Seite ist spezifisch für
Microsoft Visual Studio 2008/.NET Framework 3.5

Andere Versionen stehen ebenfalls zur Verfügung für:
.NET Framework-Klassenbibliothek
Dispatcher..::.Invoke-Methode

Aktualisiert: November 2007

Führt den angegebenen Delegaten synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.

  NameBeschreibung
ms604732.pubmethod(de-de,VS.90).gifInvoke(DispatcherPriority, Delegate) Führt den angegebenen Delegaten synchron mit der angegebenen Priorität auf dem Thread aus, dem der Dispatcher zugeordnet ist.
ms604732.pubmethod(de-de,VS.90).gifInvoke(Delegate, array<Object>[]()[]) Führt den angegebenen Delegaten synchron mit den angegebenen Argumenten für den Thread aus, dem der Dispatcher zugeordnet ist.
ms604732.pubmethod(de-de,VS.90).gifInvoke(DispatcherPriority, Delegate, Object) Führt den angegebenen Delegaten mit der angegebenen Priorität und dem angegebenen Argument synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.
ms604732.pubmethod(de-de,VS.90).gifInvoke(DispatcherPriority, TimeSpan, Delegate) Führt den angegebenen Delegaten synchron mit der angegebenen Priorität und dem angegebenen Timeoutwert auf dem Thread aus, in dem der Dispatcher erstellt wurde.
ms604732.pubmethod(de-de,VS.90).gifInvoke(Delegate, TimeSpan, array<Object>[]()[]) Führt den angegebenen Delegaten in der angegebenen Zeitspanne mit der angegebenen Priorität und den angegebenen Argumenten synchron für den Thread aus, dem der Dispatcher zugeordnet ist.
ms604732.pubmethod(de-de,VS.90).gifInvoke(Delegate, DispatcherPriority, array<Object>[]()[]) Führt den angegebenen Delegaten mit der angegebenen Priorität und den angegebenen Argumenten synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.
ms604732.pubmethod(de-de,VS.90).gifInvoke(DispatcherPriority, Delegate, Object, array<Object>[]()[]) Führt den angegebenen Delegaten mit der angegebenen Priorität und den angegebenen Argumenten synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.
ms604732.pubmethod(de-de,VS.90).gifInvoke(DispatcherPriority, TimeSpan, Delegate, Object) Führt den angegebenen Delegaten mit der angegebenen Priorität und dem angegebenen Argument synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.
ms604732.pubmethod(de-de,VS.90).gifInvoke(Delegate, TimeSpan, DispatcherPriority, array<Object>[]()[]) Führt den angegebenen Delegaten in der angegebenen Zeitspanne mit der angegebenen Priorität und den angegebenen Argumenten synchron für den Thread aus, dem der Dispatcher zugeordnet ist.
ms604732.pubmethod(de-de,VS.90).gifInvoke(DispatcherPriority, TimeSpan, Delegate, Object, array<Object>[]()[]) Führt den angegebenen Delegaten mit der angegebenen Priorität und den angegebenen Argumenten synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.
Zum Seitenanfang

In WPF kann nur der Thread auf das Objekt zugreifen, der das betreffende DispatcherObject erstellt hat. Ein Hintergrundthread außerhalb des Haupt-UI-Threads kann beispielsweise nicht den Inhalt eines Button aktualisieren, der dem UI-Thread zugeordnet ist. Um im Hintergrundthread auf die Content-Eigenschaft des Button zugreifen zu können, muss der Hintergrundthread die Arbeit an den Dispatcher delegieren, der dem UI-Thread zugeordnet ist. Dies erreichen Sie entweder mit Invoke oder mit BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Die Operation wird mit der angegebenen DispatcherPriority in die Warteschlange des Dispatcher eingefügt.

Invoke ist eine synchrone Operation. Daher wird die Steuerung erst mit Rückgabe des Rückrufs an das aufrufende Objekt zurückgegeben.

Im folgenden Beispiel wird ein Delegat auf einem Dispatcher mit Normal platziert. Hierzu wird Invoke aufgerufen. Das vollständige Quellcodebeispiel finden Sie unter Beispiel zum Deaktivieren der Befehlsquelle über den Verteilerzeitgeber.

C#
// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
    // Place delegate on the Dispatcher.
    this.Dispatcher.Invoke(DispatcherPriority.Normal,
        new TimerDispatcherDelegate(TimerWorkItem));
}
Communityinhalt   Was ist Community Content?
Neuen Inhalt hinzufügen RSS  Anmerkungen
Processing
© 2009 Microsoft Corporation. Alle Rechte vorbehalten. Nutzungsbedingungen | Markenzeichen | Informationen zur Datensicherheit
Page view tracker