Dispatcher.Invoke Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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
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
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
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.