Freigeben über


Dispatcher.Invoke Methode

Definition

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

TResult

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

TResult

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

TResult

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

TResult

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.

Gilt für: