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 Delegaten synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.
Überlädt
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, 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. |
Invoke(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. |
Invoke(DispatcherPriority, Delegate, Object, 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. |
Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan) |
Führt die angegebene Action synchron mit der angegebenen Priorität auf dem Thread aus, dem der Dispatcher zugeordnet ist. |
Invoke(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. |
Invoke(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. |
Invoke(Delegate, TimeSpan, DispatcherPriority, 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. |
Invoke(Delegate, TimeSpan, 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. |
Invoke(Action, DispatcherPriority, CancellationToken) |
Führt die angegebene Action synchron mit der angegebenen Priorität auf dem Thread aus, dem der Dispatcher zugeordnet ist. |
Invoke(DispatcherPriority, Delegate) |
Führt den angegebenen Delegaten synchron mit der angegebenen Priorität für den Thread aus, dem zugeordnet Dispatcher ist. |
Invoke(Delegate, Object[]) |
Führt den angegebenen Delegaten synchron mit den angegebenen Argumenten für den Thread aus, dem der Dispatcher zugeordnet ist. |
Invoke(Action, DispatcherPriority) |
Führt die angegebene Action synchron mit der angegebenen Priorität auf dem Thread aus, dem der Dispatcher zugeordnet ist. |
Invoke(Action) |
Führt die angegebene Action synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist. |
Invoke(Delegate, DispatcherPriority, 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. |
Invoke<TResult>(Func<TResult>) |
Führt die angegebene Func<TResult> synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist. |
Invoke<TResult>(Func<TResult>, DispatcherPriority) |
Führt die angegebene Func<TResult> synchron mit der angegebenen Priorität auf dem Thread aus, dem der Dispatcher zugeordnet ist. |
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken) |
Führt die angegebene Func<TResult> synchron mit der angegebenen Priorität auf dem Thread aus, dem der Dispatcher zugeordnet ist. |
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan) |
Führt die angegebene Func<TResult> synchron mit der angegebenen Priorität auf dem Thread aus, dem der Dispatcher zugeordnet ist. |
Beispiele
Im folgenden Beispiel wird mithilfe Invokevon ein -Delegat auf ein Dispatcher -Element platziertNormal.
// 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 eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft von Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher dem UI-Thread zugeordneten delegieren. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs zum aufrufenden Objekt zurück.
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, 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.
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 im Verhältnis zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit denen die angegebene Methode aufgerufen wird.
- timeout
- TimeSpan
Die maximale Wartezeit, bis der Vorgang gestartet wird. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. Bei einem Aufruf des gleichen Threads wird jeder andere negative Wert in -1 konvertiert, was zu einer endlosen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert eine aus ArgumentOutOfRangeException.
- method
- Delegate
Ein Delegat zu einer Methode, die mehrere Argumente erwartet und in die Dispatcher-Ereigniswarteschlange gestellt wird.
- arg
- Object
Ein Objekt, das als Argument an die angegebene Methode übergeben wird.
- args
- Object[]
Ein Array von Objekten, die als Argumente an die angegebene Methode übergeben werden sollen.
Gibt zurück
Der Rückgabewert des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
- Attribute
Ausnahmen
priority
ist gleich Inactive.
priority
ist kein gültiger DispatcherPriority.
method
ist null
.
timeout
ist eine andere negative Zahl als -1, und diese Methode wurde über Threads hinweg aufgerufen.
Hinweise
arg
kann sein null
, wenn kein Argument benötigt wird.
In WPF kann nur der Thread, der eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft des Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den delegieren, der Dispatcher dem UI-Thread zugeordnet ist. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs an das aufrufende Objekt zurück.
Gilt für:
Invoke(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.
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 im Verhältnis zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit denen die angegebene Methode aufgerufen wird.
- timeout
- TimeSpan
Die maximale Wartezeit, bis der Vorgang gestartet wird. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. Bei einem Aufruf des gleichen Threads wird jeder andere negative Wert in -1 konvertiert, was zu einer endlosen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert eine aus ArgumentOutOfRangeException.
- method
- Delegate
Ein Delegat zu einer Methode, die mehrere Argumente erwartet und in die Dispatcher-Ereigniswarteschlange gestellt wird.
- arg
- Object
Ein Objekt, das als Argument an die angegebene Methode übergeben werden soll. Dies kann null
sein, wenn keine Argumente benötigt werden.
Gibt zurück
Der Rückgabewert des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
- Attribute
Ausnahmen
priority
ist gleich Inactive.
priority
ist keine gültige Priorität.
method
ist null
.
Hinweise
arg
kann sein null
, wenn kein Argument benötigt wird
In WPF kann nur der Thread, der eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft des Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den delegieren, der Dispatcher dem UI-Thread zugeordnet ist. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs an das aufrufende Objekt zurück.
Gilt für:
Invoke(DispatcherPriority, Delegate, Object, 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.
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 im Verhältnis zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit denen die angegebene Methode aufgerufen wird.
- method
- Delegate
Ein Delegat zu einer Methode, die mehrere Argumente erwartet und in die Dispatcher-Ereigniswarteschlange gestellt wird.
- 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 des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
- Attribute
Ausnahmen
priority
ist gleich Inactive.
priority
ist keine gültige Priorität.
method
ist null
.
Hinweise
arg
kann sein null
, wenn kein Argument benötigt wird
In WPF kann nur der Thread, der eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft des Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den delegieren, der Dispatcher dem UI-Thread zugeordnet ist. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs an das aufrufende Objekt zurück.
Gilt für:
Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)
Führt die angegebene Action synchron mit der angegebenen Priorität auf dem Thread aus, dem 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 im Verhältnis zu den anderen ausstehenden Vorgängen im Dispatcheraufgerufen wird.
- cancellationToken
- CancellationToken
Ein Objekt, das angibt, ob die Aktion abgebrochen werden kann.
- timeout
- TimeSpan
Die maximale Wartezeit, bis der Vorgang gestartet wird. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. Bei einem Aufruf des gleichen Threads wird jeder andere negative Wert in -1 konvertiert, was zu einer endlosen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert eine aus ArgumentOutOfRangeException.
Ausnahmen
callback
ist null
.
timeout
ist eine andere negative Zahl als -1, und diese Methode wurde über Threads hinweg 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 mit der angegebenen Priorität und dem angegebenen Timeoutwert auf dem Thread aus, in dem 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 im Verhältnis zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit denen die angegebene Methode aufgerufen wird.
- timeout
- TimeSpan
Die maximale Wartezeit, bis der Vorgang gestartet wird. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. Bei einem Aufruf des gleichen Threads wird jeder andere negative Wert in -1 konvertiert, was zu einer endlosen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert eine aus ArgumentOutOfRangeException.
- method
- Delegate
Der Delegat zu einer Methode, die keine Argumente erwartet und in die Dispatcher-Ereigniswarteschlange gestellt wird.
Gibt zurück
Der Rückgabewert des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
- Attribute
Ausnahmen
method
ist null
.
timeout
ist eine andere negative Zahl als -1, und diese Methode wurde über Threads hinweg aufgerufen.
priority
ist gleich Inactive.
priority
ist keine gültige Priorität.
Hinweise
In WPF kann nur der Thread, der eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft des Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den delegieren, der Dispatcher dem UI-Thread zugeordnet ist. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs an das aufrufende Objekt zurück.
Gilt für:
Invoke(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.
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 im Verhältnis zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit denen die angegebene Methode aufgerufen wird.
- method
- Delegate
Ein Delegat zu einer Methode, die ein Argument erwartet und in die Dispatcher-Ereigniswarteschlange gestellt wird.
- arg
- Object
Ein Objekt, das als Argument an die angegebene Methode übergeben werden soll.
Gibt zurück
Der Rückgabewert des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
- Attribute
Ausnahmen
priority
ist gleich Inactive.
priority
ist keine gültige Priorität.
method
ist null
.
Hinweise
arg
kann sein null
, wenn kein Argument benötigt wird
In WPF kann nur der Thread, der eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft des Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den delegieren, der Dispatcher dem UI-Thread zugeordnet ist. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs an das aufrufende Objekt zurück.
Gilt für:
Invoke(Delegate, TimeSpan, DispatcherPriority, 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.
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 für eine Methode, die in args
angegebene Parameter akzeptiert und in die Dispatcher-Ereigniswarteschlange gestellt wird.
- timeout
- TimeSpan
Die maximale Wartezeit, bis der Vorgang gestartet wird. Nachdem der Vorgang gestartet wurde, wird er abgeschlossen, bevor diese Methode zurückgegeben wird. Um eine unendliche Wartezeit anzugeben, verwenden Sie den Wert -1. Bei einem Aufruf des gleichen Threads wird jeder andere negative Wert in -1 konvertiert, was zu einer endlosen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert eine aus ArgumentOutOfRangeException.
- priority
- DispatcherPriority
Die Priorität im Verhältnis zu den anderen ausstehenden Vorgängen in der Dispatcher Ereigniswarteschlange, mit denen 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 des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
Ausnahmen
method
ist null
.
timeout
ist eine andere negative Zahl als -1, und diese Methode wurde über Threads hinweg aufgerufen.
priority
ist gleich Inactive.
priority
ist keine gültige Priorität.
Hinweise
In WPF kann nur der Thread, der eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft des Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den delegieren, der Dispatcher dem UI-Thread zugeordnet ist. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs an das aufrufende Objekt zurück.
Gilt für:
Invoke(Delegate, TimeSpan, 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.
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 für eine Methode, die in args
angegebene Parameter akzeptiert und in die Dispatcher-Ereigniswarteschlange gestellt wird.
- timeout
- TimeSpan
Die maximale Wartezeit, bis der Vorgang gestartet wird. 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. Bei einem Aufruf des gleichen Threads wird jeder andere negative Wert in -1 konvertiert, was zu einer endlosen Wartezeit führt. In einem threadübergreifenden Aufruf löst jeder andere negative Wert eine aus 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 des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
Ausnahmen
method
ist null
.
timeout
ist eine andere negative Zahl als -1, und Sie werden threadsübergreifend aufgerufen.
Hinweise
In WPF kann nur der Thread, der eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft des Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den delegieren, der Dispatcher dem UI-Thread zugeordnet ist. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher 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 synchron mit der angegebenen Priorität auf dem Thread aus, dem 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
Ein Delegat, der über den Verteiler aufgerufen werden soll.
- priority
- DispatcherPriority
Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf im Verhältnis zu den anderen ausstehenden Vorgängen im Dispatcheraufgerufen wird.
- cancellationToken
- CancellationToken
Ein Objekt, das angibt, ob die Aktion abgebrochen werden kann.
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 mit 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 zu einer Methode, die keine Argumente erwartet und in die Dispatcher-Ereigniswarteschlange gestellt wird.
Gibt zurück
Der Rückgabewert des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
- Attribute
Ausnahmen
priority
ist gleich Inactive.
priority
ist keine gültige Priorität.
method
ist null
.
Beispiele
Im folgenden Beispiel wird ein Delegat mit auf einem Dispatcher platziert NormalInvoke.
// 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 eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft von Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher dem UI-Thread zugeordneten delegieren. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs zum aufrufenden Objekt zurück.
Gilt für:
Invoke(Delegate, Object[])
Führt den angegebenen Delegaten synchron mit den angegebenen Argumenten für den Thread aus, dem der Dispatcher zugeordnet ist.
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 für eine Methode, die in args
angegebene Parameter akzeptiert und in die Dispatcher-Ereigniswarteschlange gestellt 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 des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
Hinweise
In WPF kann nur der Thread, der eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft von Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher dem UI-Thread zugeordneten delegieren. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs zum aufrufenden Objekt zurück.
Gilt für:
Invoke(Action, DispatcherPriority)
Führt die angegebene Action synchron mit der angegebenen Priorität auf dem Thread aus, dem 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
Ein Delegat, der über den Verteiler aufgerufen werden soll.
- priority
- DispatcherPriority
Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf im Verhältnis zu den anderen ausstehenden Vorgängen in Dispatcheraufgerufen wird.
Gilt für:
Invoke(Action)
Führt die angegebene Action synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.
public:
void Invoke(Action ^ callback);
public void Invoke (Action callback);
member this.Invoke : Action -> unit
Public Sub Invoke (callback As Action)
Parameter
- callback
- Action
Ein Delegat, der über den Verteiler aufgerufen werden soll.
Hinweise
Die Standardpriorität ist DispatcherPriority.Send
.
Gilt für:
Invoke(Delegate, DispatcherPriority, 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.
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 für eine Methode, die in args
angegebene Parameter akzeptiert und in die Dispatcher-Ereigniswarteschlange gestellt wird.
- 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 des aufgerufenen Delegaten bzw. null
, wenn der Delegat keinen Wert zurückgibt.
Hinweise
In WPF kann nur der Thread, der eine erstellt hat DispatcherObject , auf dieses Objekt zugreifen. Beispielsweise kann ein Hintergrundthread, der aus dem Standard UI-Thread ausgegliedert wird, den Inhalt eines Button nicht aktualisieren, der im UI-Thread erstellt wurde. Damit der Hintergrundthread auf die Content-Eigenschaft von Buttonzugreifen kann, muss der Hintergrundthread die Arbeit an den Dispatcher dem UI-Thread zugeordneten delegieren. Dies wird mithilfe von oder InvokeBeginInvokeerreicht. Invoke ist synchron und BeginInvoke asynchron. Der Vorgang wird der Ereigniswarteschlange des Dispatcher am angegebenen DispatcherPriorityhinzugefügt.
Invoke ist ein synchroner Vorgang; Daher kehrt das Steuerelement erst nach der Rückgabe des Rückrufs zum aufrufenden Objekt zurück.
Gilt für:
Invoke<TResult>(Func<TResult>)
Führt die angegebene Func<TResult> synchron auf dem Thread aus, dem der Dispatcher zugeordnet ist.
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ückgabewerts des angegebenen Delegaten.
Parameter
- callback
- Func<TResult>
Ein Delegat, der über den Verteiler aufgerufen werden soll.
Gibt zurück
Der von callback
zurückgegebene Wert.
Gilt für:
Invoke<TResult>(Func<TResult>, DispatcherPriority)
Führt die angegebene Func<TResult> synchron mit der angegebenen Priorität auf dem Thread aus, dem 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ückgabewerts des angegebenen Delegaten.
Parameter
- callback
- Func<TResult>
Ein Delegat, der über den Verteiler aufgerufen werden soll.
- priority
- DispatcherPriority
Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf im Verhältnis zu den anderen ausstehenden Vorgängen in Dispatcheraufgerufen wird.
Gibt zurück
Der von callback
zurückgegebene Wert.
Gilt für:
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)
Führt die angegebene Func<TResult> synchron mit der angegebenen Priorität auf dem Thread aus, dem 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ückgabewerts des angegebenen Delegaten.
Parameter
- callback
- Func<TResult>
Ein Delegat, der über den Verteiler aufgerufen werden soll.
- priority
- DispatcherPriority
Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf im Verhältnis zu den anderen ausstehenden Vorgängen in Dispatcheraufgerufen wird.
- cancellationToken
- CancellationToken
Ein Objekt, das angibt, ob der Vorgang abgebrochen werden kann.
Gibt zurück
Der von callback
zurückgegebene Wert.
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> synchron mit der angegebenen Priorität auf dem Thread aus, dem 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ückgabewerts des angegebenen Delegaten.
Parameter
- callback
- Func<TResult>
Ein Delegat, der über den Verteiler aufgerufen werden soll.
- priority
- DispatcherPriority
Die Priorität, die die Reihenfolge bestimmt, in der der angegebene Rückruf im Verhältnis zu den anderen ausstehenden Vorgängen in Dispatcheraufgerufen wird.
- cancellationToken
- CancellationToken
Ein Objekt, das angibt, ob der Vorgang abgebrochen werden kann.
- timeout
- TimeSpan
Die maximale Wartezeit, bis der Vorgang gestartet wird. Sobald 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 Aufruf des gleichen Threads 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 aus ArgumentOutOfRangeException.
Gibt zurück
Der von callback
zurückgegebene Wert.
Ausnahmen
callback
ist null
.
timeout
ist eine andere negative Zahl als -1, und die Methode wurde threadsübergreifend aufgerufen.
priority
ist keine gültige Priorität.
Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.