Dispatcher.Invoke Methode

Definition

Führt den angegebenen Delegat synchron für den Thread aus, dem die Dispatcher Zugehörigen zugeordnet sind.

Überlädt

Name Beschreibung
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])

Führt den angegebenen Delegaten an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, der Dispatcher zugeordnet ist.

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Führt den angegebenen Delegaten mit dem angegebenen Argument synchron im Thread aus, dem die Dispatcher angegebene Priorität zugeordnet ist.

Invoke(DispatcherPriority, Delegate, Object, Object[])

Führt den angegebenen Delegaten an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, der Dispatcher zugeordnet ist.

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Führt die angegebene Action synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

Invoke(DispatcherPriority, TimeSpan, Delegate)

Führt den angegebenen Delegaten synchron an der angegebenen Priorität und mit dem angegebenen Timeoutwert im Thread aus, der Dispatcher erstellt wurde.

Invoke(DispatcherPriority, Delegate, Object)

Führt den angegebenen Delegaten mit dem angegebenen Argument synchron im Thread aus, dem die Dispatcher angegebene Priorität zugeordnet ist.

Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])

Führt den angegebenen Delegat innerhalb der angegebenen Zeitspanne an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, dem der Dispatcher zugeordnet ist.

Invoke(Delegate, TimeSpan, Object[])

Führt den angegebenen Delegat innerhalb der angegebenen Zeitspanne an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, dem der Dispatcher zugeordnet ist.

Invoke(Action, DispatcherPriority, CancellationToken)

Führt die angegebene Action synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

Invoke(DispatcherPriority, Delegate)

Führt den angegebenen Delegat synchron an der angegebenen Priorität für den Thread aus, dem der Dispatcher zugeordnet ist.

Invoke(Delegate, Object[])

Führt den angegebenen Delegaten mit den angegebenen Argumenten synchron im Thread aus, dem die Dispatcher Zugehörigen zugeordnet sind.

Invoke(Action, DispatcherPriority)

Führt die angegebene Action synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

Invoke(Action)

Führt den angegebenen Action synchronen Befehl für den Thread aus, dem die Dispatcher Zugehörigen zugeordnet sind.

Invoke(Delegate, DispatcherPriority, Object[])

Führt den angegebenen Delegaten an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, der Dispatcher zugeordnet ist.

Invoke<TResult>(Func<TResult>)

Führt den angegebenen Func<TResult> synchronen Befehl für den Thread aus, dem die Dispatcher Zugehörigen zugeordnet sind.

Invoke<TResult>(Func<TResult>, DispatcherPriority)

Führt die angegebene Func<TResult> synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)

Führt die angegebene Func<TResult> synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)

Führt die angegebene Func<TResult> synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

Beispiele

Im folgenden Beispiel wird eine Stellvertretung in eine Dispatcher "at Normal using Invoke" platziert.

// 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));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
    ' Place delegate on the Dispatcher.
    Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub

Hinweise

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])

Führt den angegebenen Delegaten an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, der Dispatcher zugeordnet ist.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke(System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object, ParamArray args As Object()) As Object

Parameter

priority
DispatcherPriority

Die Priorität relativ zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit der die angegebene Methode aufgerufen wird.

timeout
TimeSpan

Die maximale Zeitspanne, die auf den Start des Vorgangs wartet. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. In einem Same-Thread-Aufruf wird jeder andere negative Wert in -1 konvertiert, was zu einer unendlichen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert einen ArgumentOutOfRangeException.

method
Delegate

Ein Delegat an eine Methode, die mehrere Argumente verwendet, die in die Dispatcher Ereigniswarteschlange verschoben werden.

arg
Object

Ein Objekt, das als Argument an die angegebene Methode übergeben werden soll.

args
Object[]

Ein Array von Objekten, die als Argumente an die angegebene Methode übergeben werden sollen.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Attribute

Ausnahmen

priority ist gleich Inactive.

priority ist keine gültige DispatcherPriority.

method ist null.

timeout ist eine andere negative Zahl als -1, und diese Methode wurde über Threads aufgerufen.

Hinweise

arg kann sein null , wenn ein Argument nicht benötigt wird.

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Führt den angegebenen Delegaten mit dem angegebenen Argument synchron im Thread aus, dem die Dispatcher angegebene Priorität zugeordnet ist.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke(System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object) As Object

Parameter

priority
DispatcherPriority

Die Priorität relativ zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit der die angegebene Methode aufgerufen wird.

timeout
TimeSpan

Die maximale Zeitspanne, die auf den Start des Vorgangs wartet. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. In einem Same-Thread-Aufruf wird jeder andere negative Wert in -1 konvertiert, was zu einer unendlichen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert einen ArgumentOutOfRangeException.

method
Delegate

Ein Delegat an eine Methode, die mehrere Argumente verwendet, die in die Dispatcher Ereigniswarteschlange verschoben werden.

arg
Object

Ein Objekt, das als Argument an die angegebene Methode übergeben werden soll. Dies kann sein null , wenn keine Argumente erforderlich sind.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Attribute

Ausnahmen

priority ist gleich Inactive.

priority ist keine gültige Priorität.

method ist null.

Hinweise

arg kann sein null , wenn ein Argument nicht benötigt wird

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke(DispatcherPriority, Delegate, Object, Object[])

Führt den angegebenen Delegaten an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, der Dispatcher zugeordnet ist.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke(System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object, ParamArray args As Object()) As Object

Parameter

priority
DispatcherPriority

Die Priorität relativ zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit der die angegebene Methode aufgerufen wird.

method
Delegate

Ein Delegat an eine Methode, die mehrere Argumente verwendet, die in die Dispatcher Ereigniswarteschlange verschoben werden.

arg
Object

Ein Objekt, das als Argument an die angegebene Methode übergeben werden soll.

args
Object[]

Ein Array von Objekten, die als Argumente an die angegebene Methode übergeben werden sollen.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Attribute

Ausnahmen

priority ist gleich Inactive.

priority ist keine gültige Priorität.

method ist null.

Hinweise

arg kann sein null , wenn ein Argument nicht benötigt wird

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Führt die angegebene Action synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

public:
 void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public void Invoke(Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan)

Parameter

callback
Action

Ein Aktionsdelegat, der über den Verteiler aufgerufen werden soll.

priority
DispatcherPriority

Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf relativ zu den anderen ausstehenden Vorgängen in der DispatcherAufgerufen wird.

cancellationToken
CancellationToken

Ein Objekt, das angibt, ob die Aktion abgebrochen werden soll.

timeout
TimeSpan

Die maximale Zeitspanne, die auf den Start des Vorgangs wartet. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. In einem Same-Thread-Aufruf wird jeder andere negative Wert in -1 konvertiert, was zu einer unendlichen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert einen ArgumentOutOfRangeException.

Ausnahmen

callback ist null.

timeout ist eine andere negative Zahl als -1, und diese Methode wurde über Threads aufgerufen.

priority ist keine gültige Priorität.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Gilt für:

Invoke(DispatcherPriority, TimeSpan, Delegate)

Führt den angegebenen Delegaten synchron an der angegebenen Priorität und mit dem angegebenen Timeoutwert im Thread aus, der Dispatcher erstellt wurde.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke(System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate) As Object

Parameter

priority
DispatcherPriority

Die Priorität relativ zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit der die angegebene Methode aufgerufen wird.

timeout
TimeSpan

Die maximale Zeitspanne, die auf den Start des Vorgangs wartet. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. In einem Same-Thread-Aufruf wird jeder andere negative Wert in -1 konvertiert, was zu einer unendlichen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert einen ArgumentOutOfRangeException.

method
Delegate

Der Delegat an eine Methode, die keine Argumente akzeptiert, die in die Dispatcher Ereigniswarteschlange verschoben werden.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Attribute

Ausnahmen

method ist null.

timeout ist eine andere negative Zahl als -1, und diese Methode wurde über Threads aufgerufen.

priority ist gleich Inactive.

priority ist keine gültige Priorität.

Hinweise

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke(DispatcherPriority, Delegate, Object)

Führt den angegebenen Delegaten mit dem angegebenen Argument synchron im Thread aus, dem die Dispatcher angegebene Priorität zugeordnet ist.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke(System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object) As Object

Parameter

priority
DispatcherPriority

Die Priorität relativ zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit der die angegebene Methode aufgerufen wird.

method
Delegate

Ein Delegat an eine Methode, die ein Argument verwendet, das in die Dispatcher Ereigniswarteschlange verschoben wird.

arg
Object

Ein Objekt, das als Argument an die angegebene Methode übergeben werden soll.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Attribute

Ausnahmen

priority ist gleich Inactive.

priority ist keine gültige Priorität.

method ist null.

Hinweise

arg kann sein null , wenn ein Argument nicht benötigt wird

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])

Führt den angegebenen Delegat innerhalb der angegebenen Zeitspanne an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, dem der Dispatcher zugeordnet ist.

public:
 System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke(Delegate method, TimeSpan timeout, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * TimeSpan * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, priority As DispatcherPriority, ParamArray args As Object()) As Object

Parameter

method
Delegate

Ein Delegat an eine Methode, die Parameter verwendet, die in argsder Dispatcher Ereigniswarteschlange angegeben sind.

timeout
TimeSpan

Die maximale Zeitspanne, die auf den Start des Vorgangs wartet. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. In einem Same-Thread-Aufruf wird jeder andere negative Wert in -1 konvertiert, was zu einer unendlichen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert einen ArgumentOutOfRangeException.

priority
DispatcherPriority

Die Priorität relativ zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit der die angegebene Methode aufgerufen wird.

args
Object[]

Ein Array von Objekten, die als Argumente an die angegebene Methode übergeben werden sollen. Kann null sein.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Ausnahmen

method ist null.

timeout ist eine andere negative Zahl als -1, und diese Methode wurde über Threads aufgerufen.

priority ist gleich Inactive.

priority ist keine gültige Priorität.

Hinweise

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke(Delegate, TimeSpan, Object[])

Führt den angegebenen Delegat innerhalb der angegebenen Zeitspanne an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, dem der Dispatcher zugeordnet ist.

public:
 System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, ... cli::array <System::Object ^> ^ args);
public object Invoke(Delegate method, TimeSpan timeout, params object[] args);
member this.Invoke : Delegate * TimeSpan * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, ParamArray args As Object()) As Object

Parameter

method
Delegate

Ein Delegat an eine Methode, die Parameter verwendet, die in argsder Dispatcher Ereigniswarteschlange angegeben sind.

timeout
TimeSpan

Die maximale Zeitspanne, die auf den Start des Vorgangs wartet. Sobald der Vorgang gestartet wird, wird er jedoch abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. In einem Same-Thread-Aufruf wird jeder andere negative Wert in -1 konvertiert, was zu einer unendlichen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert einen ArgumentOutOfRangeException.

args
Object[]

Ein Array von Objekten, die als Argumente an die angegebene Methode übergeben werden sollen. Kann sein null , wenn keine Argumente erforderlich sind.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Ausnahmen

method ist null.

timeout ist eine andere negative Zahl als -1, und Sie aufrufen über Threads hinweg.

Hinweise

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Aus diesem Grund kehrt das Steuerelement erst nach der Rückgabe des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke(Action, DispatcherPriority, CancellationToken)

Führt die angegebene Action synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

public:
 void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public void Invoke(Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken)

Parameter

callback
Action

Eine Stellvertretung, die über den Verteiler aufgerufen werden soll.

priority
DispatcherPriority

Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf relativ zu den anderen ausstehenden Vorgängen in der DispatcherAufgerufen wird.

cancellationToken
CancellationToken

Ein Objekt, das angibt, ob die Aktion abgebrochen werden soll.

Ausnahmen

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Gilt für:

Invoke(DispatcherPriority, Delegate)

Führt den angegebenen Delegat synchron an der angegebenen Priorität für den Thread aus, dem der Dispatcher zugeordnet ist.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke(System.Windows.Threading.DispatcherPriority priority, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate) As Object

Parameter

priority
DispatcherPriority

Die Priorität, mit der die angegebene Methode aufgerufen wird, relativ zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange.

method
Delegate

Ein Delegat an eine Methode, die keine Argumente akzeptiert, die in die Dispatcher Ereigniswarteschlange verschoben werden.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Attribute

Ausnahmen

priority ist gleich Inactive.

priority ist keine gültige Priorität.

method ist null.

Beispiele

Im folgenden Beispiel wird eine Stellvertretung in eine Dispatcher "at Normal using Invoke" platziert.

// 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));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
    ' Place delegate on the Dispatcher.
    Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub

Hinweise

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke(Delegate, Object[])

Führt den angegebenen Delegaten mit den angegebenen Argumenten synchron im Thread aus, dem die Dispatcher Zugehörigen zugeordnet sind.

public:
 System::Object ^ Invoke(Delegate ^ method, ... cli::array <System::Object ^> ^ args);
public object Invoke(Delegate method, params object[] args);
member this.Invoke : Delegate * obj[] -> obj
Public Function Invoke (method As Delegate, ParamArray args As Object()) As Object

Parameter

method
Delegate

Ein Delegat an eine Methode, die Parameter verwendet, die in argsder Dispatcher Ereigniswarteschlange angegeben sind.

args
Object[]

Ein Array von Objekten, die als Argumente an die angegebene Methode übergeben werden sollen. Kann null sein.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Hinweise

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke(Action, DispatcherPriority)

Führt die angegebene Action synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

public:
 void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority);
public void Invoke(Action callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority)

Parameter

callback
Action

Eine Stellvertretung, die über den Verteiler aufgerufen werden soll.

priority
DispatcherPriority

Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf relativ zu den anderen ausstehenden Vorgängen in der DispatcherAufgerufen wird.

Gilt für:

Invoke(Action)

Führt den angegebenen Action synchronen Befehl für den Thread aus, dem die Dispatcher Zugehörigen zugeordnet sind.

public:
 void Invoke(Action ^ callback);
public void Invoke(Action callback);
member this.Invoke : Action -> unit
Public Sub Invoke (callback As Action)

Parameter

callback
Action

Eine Stellvertretung, die über den Verteiler aufgerufen werden soll.

Hinweise

Die Standardpriorität lautet DispatcherPriority.Send.

Gilt für:

Invoke(Delegate, DispatcherPriority, Object[])

Führt den angegebenen Delegaten an der angegebenen Priorität mit den angegebenen Argumenten synchron im Thread aus, der Dispatcher zugeordnet ist.

public:
 System::Object ^ Invoke(Delegate ^ method, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke(Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, priority As DispatcherPriority, ParamArray args As Object()) As Object

Parameter

method
Delegate

Ein Delegat an eine Methode, die Parameter verwendet, die in argsder Dispatcher Ereigniswarteschlange angegeben sind.

priority
DispatcherPriority

Die Priorität, mit der die angegebene Methode aufgerufen wird, relativ zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange.

args
Object[]

Ein Array von Objekten, die als Argumente an die angegebene Methode übergeben werden sollen. Kann null sein.

Gibt zurück

Der Rückgabewert der aufgerufenen Stellvertretung oder null wenn die Stellvertretung keinen Rückgabewert aufweist.

Hinweise

In WPF kann nur der Thread, der ein DispatcherObject Objekt erstellt hat, auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Hauptthread der Benutzeroberfläche abgeleitet wird, den Inhalt eines Button im UI-Thread erstellten Elements nicht aktualisieren. Damit der Hintergrundthread auf die Inhaltseigenschaft des ButtonInhalts zugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher zugeordneten UI-Thread delegieren. Dazu wird entweder Invoke oder BeginInvoke. Invoke ist synchron und BeginInvoke ist asynchron. Der Vorgang wird der Ereigniswarteschlange der Dispatcher angegebenen DispatcherPriorityHinzugefügt.

Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach dem Zurückgeben des Rückrufs zum aufrufenden Objekt zurück.

Gilt für:

Invoke<TResult>(Func<TResult>)

Führt den angegebenen Func<TResult> synchronen Befehl für den Thread aus, dem die Dispatcher Zugehörigen zugeordnet sind.

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback);
public TResult Invoke<TResult>(Func<TResult> callback);
member this.Invoke : Func<'Result> -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult)) As TResult

Typparameter

TResult

Der Rückgabewerttyp des angegebenen Delegaten.

Parameter

callback
Func<TResult>

Eine Stellvertretung, die über den Verteiler aufgerufen werden soll.

Gibt zurück

TResult

Der von callback.

Gilt für:

Invoke<TResult>(Func<TResult>, DispatcherPriority)

Führt die angegebene Func<TResult> synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority);
public TResult Invoke<TResult>(Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority) As TResult

Typparameter

TResult

Der Rückgabewerttyp des angegebenen Delegaten.

Parameter

callback
Func<TResult>

Eine Stellvertretung, die über den Verteiler aufgerufen werden soll.

priority
DispatcherPriority

Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf relativ zu den anderen ausstehenden Vorgängen in der DispatcherAufgerufen wird.

Gibt zurück

TResult

Der von callback.

Gilt für:

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)

Führt die angegebene Func<TResult> synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public TResult Invoke<TResult>(Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken) As TResult

Typparameter

TResult

Der Rückgabewerttyp des angegebenen Delegaten.

Parameter

callback
Func<TResult>

Eine Stellvertretung, die über den Verteiler aufgerufen werden soll.

priority
DispatcherPriority

Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf relativ zu den anderen ausstehenden Vorgängen in der DispatcherAufgerufen wird.

cancellationToken
CancellationToken

Ein Objekt, das angibt, ob der Vorgang abgebrochen werden soll.

Gibt zurück

TResult

Der von callback.

Ausnahmen

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Gilt für:

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)

Führt die angegebene Func<TResult> synchrone Ausführung an der angegebenen Priorität für den Thread aus, der Dispatcher zugeordnet ist.

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public TResult Invoke<TResult>(Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan) As TResult

Typparameter

TResult

Der Rückgabewerttyp des angegebenen Delegaten.

Parameter

callback
Func<TResult>

Eine Stellvertretung, die über den Verteiler aufgerufen werden soll.

priority
DispatcherPriority

Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf relativ zu den anderen ausstehenden Vorgängen in der DispatcherAufgerufen wird.

cancellationToken
CancellationToken

Ein Objekt, das angibt, ob der Vorgang abgebrochen werden soll.

timeout
TimeSpan

Die maximale Zeitspanne, die auf den Start des Vorgangs wartet. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. In einem Same-Thread-Aufruf wird jeder andere negative Wert in -1 konvertiert, was zu einer unendlichen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert einen ArgumentOutOfRangeException.

Gibt zurück

TResult

Der von callback.

Ausnahmen

callback ist null.

timeout ist eine andere negative Zahl als -1, und die Methode wurde über Threads aufgerufen.

priority ist keine gültige Priorität.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Gilt für: