Dispatcher.Invoke Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt de opgegeven gemachtigde synchroon uitgevoerd op de thread waarmee de Dispatcher gemachtigde is gekoppeld.
Overloads
| Name | Description |
|---|---|
| Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[]) |
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke(DispatcherPriority, TimeSpan, Delegate, Object) |
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met het opgegeven argument synchroon op de thread waarmee de Dispatcher gemachtigde is gekoppeld. |
| Invoke(DispatcherPriority, Delegate, Object, Object[]) |
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan) |
Hiermee wordt de opgegeven Action synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke(DispatcherPriority, TimeSpan, Delegate) |
Hiermee wordt de opgegeven gemachtigde synchroon uitgevoerd op de opgegeven prioriteit en met de opgegeven time-outwaarde op de thread die is Dispatcher gemaakt. |
| Invoke(DispatcherPriority, Delegate, Object) |
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met het opgegeven argument synchroon op de thread waarmee de Dispatcher gemachtigde is gekoppeld. |
| Invoke(Delegate, TimeSpan, DispatcherPriority, Object[]) |
Hiermee wordt de opgegeven gemachtigde uitgevoerd binnen de opgegeven tijdsperiode op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke(Delegate, TimeSpan, Object[]) |
Hiermee wordt de opgegeven gemachtigde uitgevoerd binnen de opgegeven tijdsperiode op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke(Action, DispatcherPriority, CancellationToken) |
Hiermee wordt de opgegeven Action synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke(DispatcherPriority, Delegate) |
Hiermee wordt de opgegeven gemachtigde synchroon uitgevoerd op de opgegeven prioriteit op de thread waaraan de Dispatcher thread is gekoppeld. |
| Invoke(Delegate, Object[]) |
Hiermee wordt de opgegeven gemachtigde uitgevoerd met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher gemachtigde is gekoppeld. |
| Invoke(Action, DispatcherPriority) |
Hiermee wordt de opgegeven Action synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke(Action) |
Hiermee wordt de opgegeven Action synchroon uitgevoerd op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke(Delegate, DispatcherPriority, Object[]) |
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke<TResult>(Func<TResult>) |
Hiermee wordt de opgegeven Func<TResult> synchroon uitgevoerd op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke<TResult>(Func<TResult>, DispatcherPriority) |
Hiermee wordt de opgegeven Func<TResult> synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken) |
Hiermee wordt de opgegeven Func<TResult> synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld. |
| Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan) |
Hiermee wordt de opgegeven Func<TResult> synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld. |
Voorbeelden
In het volgende voorbeeld wordt een gemachtigde op een Dispatcher gebruiks- of gebruiksfunctie NormalInvokeweergegeven.
// 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
Opmerkingen
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld.
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
Parameters
- priority
- DispatcherPriority
De prioriteit, ten opzichte van de andere bewerkingen die in de Dispatcher gebeurteniswachtrij in behandeling zijn, waarmee de opgegeven methode wordt aangeroepen.
- timeout
- TimeSpan
De maximale hoeveelheid tijd die moet worden gewacht totdat de bewerking is gestart. Zodra de bewerking is gestart, wordt deze voltooid voordat deze methode wordt geretourneerd. Als u een oneindige wachttijd wilt opgeven, gebruikt u de waarde -1. In een gesprek met dezelfde thread wordt elke andere negatieve waarde geconverteerd naar -1, wat resulteert in een oneindige wachttijd. In een crossthread-aanroep werpt elke andere negatieve waarde een ArgumentOutOfRangeException.
- method
- Delegate
Een gemachtigde naar een methode die meerdere argumenten gebruikt, die naar de Dispatcher gebeurteniswachtrij wordt gepusht.
- arg
- Object
Een object dat als argument moet worden doorgegeven aan de opgegeven methode.
- args
- Object[]
Een matrix van objecten die als argumenten moeten worden doorgegeven aan de opgegeven methode.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
- Kenmerken
Uitzonderingen
priority is gelijk aan Inactive.
priority is geen geldige DispatcherPriority.
method is null.
timeout is een ander negatief getal dan -1 en deze methode is aangeroepen in threads.
Opmerkingen
arg kan zijn null als een argument niet nodig is.
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke(DispatcherPriority, TimeSpan, Delegate, Object)
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met het opgegeven argument synchroon op de thread waarmee de Dispatcher gemachtigde is gekoppeld.
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
Parameters
- priority
- DispatcherPriority
De prioriteit, ten opzichte van de andere bewerkingen die in de Dispatcher gebeurteniswachtrij in behandeling zijn, waarmee de opgegeven methode wordt aangeroepen.
- timeout
- TimeSpan
De maximale hoeveelheid tijd die moet worden gewacht totdat de bewerking is gestart. Zodra de bewerking is gestart, wordt deze voltooid voordat deze methode wordt geretourneerd. Als u een oneindige wachttijd wilt opgeven, gebruikt u de waarde -1. In een gesprek met dezelfde thread wordt elke andere negatieve waarde geconverteerd naar -1, wat resulteert in een oneindige wachttijd. In een crossthread-aanroep werpt elke andere negatieve waarde een ArgumentOutOfRangeException.
- method
- Delegate
Een gemachtigde naar een methode die meerdere argumenten gebruikt, die naar de Dispatcher gebeurteniswachtrij wordt gepusht.
- arg
- Object
Een object dat als argument moet worden doorgegeven aan de opgegeven methode. Dit kan zijn null als er geen argumenten nodig zijn.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
- Kenmerken
Uitzonderingen
priority is gelijk aan Inactive.
priority is geen geldige prioriteit.
method is null.
Opmerkingen
arg kan zijn null als een argument niet nodig is
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke(DispatcherPriority, Delegate, Object, Object[])
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld.
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
Parameters
- priority
- DispatcherPriority
De prioriteit, ten opzichte van de andere bewerkingen die in de Dispatcher gebeurteniswachtrij in behandeling zijn, waarmee de opgegeven methode wordt aangeroepen.
- method
- Delegate
Een gemachtigde naar een methode die meerdere argumenten gebruikt, die naar de Dispatcher gebeurteniswachtrij wordt gepusht.
- arg
- Object
Een object dat als argument moet worden doorgegeven aan de opgegeven methode.
- args
- Object[]
Een matrix van objecten die als argumenten moeten worden doorgegeven aan de opgegeven methode.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
- Kenmerken
Uitzonderingen
priority is gelijk aan Inactive.
priority is geen geldige prioriteit.
method is null.
Opmerkingen
arg kan zijn null als een argument niet nodig is
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)
Hiermee wordt de opgegeven Action synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld.
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)
Parameters
- callback
- Action
Een gemachtigde actie die moet worden aangeroepen via de dispatcher.
- priority
- DispatcherPriority
De prioriteit die bepaalt in welke volgorde de opgegeven callback wordt aangeroepen ten opzichte van de andere bewerkingen die in behandeling zijn in de Dispatcher.
- cancellationToken
- CancellationToken
Een object dat aangeeft of de actie moet worden geannuleerd.
- timeout
- TimeSpan
De maximale hoeveelheid tijd die moet worden gewacht totdat de bewerking is gestart. Zodra de bewerking is gestart, wordt deze voltooid voordat deze methode wordt geretourneerd. Als u een oneindige wachttijd wilt opgeven, gebruikt u de waarde -1. In een gesprek met dezelfde thread wordt elke andere negatieve waarde geconverteerd naar -1, wat resulteert in een oneindige wachttijd. In een crossthread-aanroep werpt elke andere negatieve waarde een ArgumentOutOfRangeException.
Uitzonderingen
callback is null.
timeout is een ander negatief getal dan -1 en deze methode is aangeroepen in threads.
priority is geen geldige prioriteit.
Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.
Van toepassing op
Invoke(DispatcherPriority, TimeSpan, Delegate)
Hiermee wordt de opgegeven gemachtigde synchroon uitgevoerd op de opgegeven prioriteit en met de opgegeven time-outwaarde op de thread die is Dispatcher gemaakt.
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
Parameters
- priority
- DispatcherPriority
De prioriteit, ten opzichte van de andere bewerkingen die in de Dispatcher gebeurteniswachtrij in behandeling zijn, waarmee de opgegeven methode wordt aangeroepen.
- timeout
- TimeSpan
De maximale hoeveelheid tijd die moet worden gewacht totdat de bewerking is gestart. Zodra de bewerking is gestart, wordt deze voltooid voordat deze methode wordt geretourneerd. Als u een oneindige wachttijd wilt opgeven, gebruikt u de waarde -1. In een gesprek met dezelfde thread wordt elke andere negatieve waarde geconverteerd naar -1, wat resulteert in een oneindige wachttijd. In een crossthread-aanroep werpt elke andere negatieve waarde een ArgumentOutOfRangeException.
- method
- Delegate
De gedelegeerde naar een methode die geen argumenten gebruikt, die naar de Dispatcher gebeurteniswachtrij wordt gepusht.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
- Kenmerken
Uitzonderingen
method is null.
timeout is een ander negatief getal dan -1 en deze methode is aangeroepen in threads.
priority is gelijk aan Inactive.
priority is geen geldige prioriteit.
Opmerkingen
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke(DispatcherPriority, Delegate, Object)
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met het opgegeven argument synchroon op de thread waarmee de Dispatcher gemachtigde is gekoppeld.
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
Parameters
- priority
- DispatcherPriority
De prioriteit, ten opzichte van de andere bewerkingen die in de Dispatcher gebeurteniswachtrij in behandeling zijn, waarmee de opgegeven methode wordt aangeroepen.
- method
- Delegate
Een gemachtigde naar een methode die één argument gebruikt, dat naar de Dispatcher gebeurteniswachtrij wordt gepusht.
- arg
- Object
Een object dat als argument moet worden doorgegeven aan de opgegeven methode.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
- Kenmerken
Uitzonderingen
priority is gelijk aan Inactive.
priority is geen geldige prioriteit.
method is null.
Opmerkingen
arg kan zijn null als een argument niet nodig is
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])
Hiermee wordt de opgegeven gemachtigde uitgevoerd binnen de opgegeven tijdsperiode op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld.
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
Parameters
- method
- Delegate
Een gemachtigde naar een methode die parameters gebruikt die zijn opgegeven in args, die naar de Dispatcher gebeurteniswachtrij wordt gepusht.
- timeout
- TimeSpan
De maximale hoeveelheid tijd die moet worden gewacht totdat de bewerking is gestart. Zodra de bewerking is gestart, wordt deze voltooid voordat deze methode wordt geretourneerd. Als u een oneindige wachttijd wilt opgeven, gebruikt u de waarde -1. In een gesprek met dezelfde thread wordt elke andere negatieve waarde geconverteerd naar -1, wat resulteert in een oneindige wachttijd. In een crossthread-aanroep werpt elke andere negatieve waarde een ArgumentOutOfRangeException.
- priority
- DispatcherPriority
De prioriteit, ten opzichte van de andere bewerkingen die in de Dispatcher gebeurteniswachtrij in behandeling zijn, waarmee de opgegeven methode wordt aangeroepen.
- args
- Object[]
Een matrix van objecten die als argumenten moeten worden doorgegeven aan de opgegeven methode. Kan zijn null.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
Uitzonderingen
method is null.
timeout is een ander negatief getal dan -1 en deze methode is aangeroepen in threads.
priority is gelijk aan Inactive.
priority is geen geldige prioriteit.
Opmerkingen
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke(Delegate, TimeSpan, Object[])
Hiermee wordt de opgegeven gemachtigde uitgevoerd binnen de opgegeven tijdsperiode op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld.
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
Parameters
- method
- Delegate
Een gemachtigde naar een methode die parameters gebruikt die zijn opgegeven in args, die naar de Dispatcher gebeurteniswachtrij wordt gepusht.
- timeout
- TimeSpan
De maximale hoeveelheid tijd die moet worden gewacht totdat de bewerking is gestart. Zodra de bewerking is gestart, wordt deze echter voltooid voordat deze methode wordt geretourneerd. Als u een oneindige wachttijd wilt opgeven, gebruikt u de waarde -1. In een gesprek met dezelfde thread wordt elke andere negatieve waarde geconverteerd naar -1, wat resulteert in een oneindige wachttijd. In een crossthread-aanroep werpt elke andere negatieve waarde een ArgumentOutOfRangeException.
- args
- Object[]
Een matrix van objecten die als argumenten moeten worden doorgegeven aan de opgegeven methode. Dit kan zijn null als er geen argumenten nodig zijn.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
Uitzonderingen
method is null.
timeout is een ander negatief getal dan -1 en u aanroept over threads.
Opmerkingen
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke(Action, DispatcherPriority, CancellationToken)
Hiermee wordt de opgegeven Action synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld.
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)
Parameters
- callback
- Action
Een gemachtigde die moet worden aangeroepen via de dispatcher.
- priority
- DispatcherPriority
De prioriteit die bepaalt in welke volgorde de opgegeven callback wordt aangeroepen ten opzichte van de andere bewerkingen die in behandeling zijn in de Dispatcher.
- cancellationToken
- CancellationToken
Een object dat aangeeft of de actie moet worden geannuleerd.
Uitzonderingen
Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.
Van toepassing op
Invoke(DispatcherPriority, Delegate)
Hiermee wordt de opgegeven gemachtigde synchroon uitgevoerd op de opgegeven prioriteit op de thread waaraan de Dispatcher thread is gekoppeld.
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
Parameters
- priority
- DispatcherPriority
De prioriteit waarmee de opgegeven methode wordt aangeroepen, ten opzichte van de andere in behandeling zijnde bewerkingen in de Dispatcher gebeurteniswachtrij.
- method
- Delegate
Een gemachtigde naar een methode die geen argumenten gebruikt, die naar de Dispatcher gebeurteniswachtrij wordt gepusht.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
- Kenmerken
Uitzonderingen
priority is gelijk aan Inactive.
priority is geen geldige prioriteit.
method is null.
Voorbeelden
In het volgende voorbeeld wordt een gemachtigde op een Dispatcher gebruiks- of gebruiksfunctie NormalInvokeweergegeven.
// 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
Opmerkingen
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke(Delegate, Object[])
Hiermee wordt de opgegeven gemachtigde uitgevoerd met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher gemachtigde is gekoppeld.
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
Parameters
- method
- Delegate
Een gemachtigde naar een methode die parameters gebruikt die zijn opgegeven in args, die naar de Dispatcher gebeurteniswachtrij wordt gepusht.
- args
- Object[]
Een matrix van objecten die als argumenten moeten worden doorgegeven aan de opgegeven methode. Kan zijn null.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
Opmerkingen
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke(Action, DispatcherPriority)
Hiermee wordt de opgegeven Action synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld.
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)
Parameters
- callback
- Action
Een gemachtigde die moet worden aangeroepen via de dispatcher.
- priority
- DispatcherPriority
De prioriteit die bepaalt in welke volgorde de opgegeven callback wordt aangeroepen ten opzichte van de andere bewerkingen die in behandeling zijn in de Dispatcher.
Van toepassing op
Invoke(Action)
Hiermee wordt de opgegeven Action synchroon uitgevoerd op de thread waarmee de Dispatcher thread is gekoppeld.
public:
void Invoke(Action ^ callback);
public void Invoke(Action callback);
member this.Invoke : Action -> unit
Public Sub Invoke (callback As Action)
Parameters
- callback
- Action
Een gemachtigde die moet worden aangeroepen via de dispatcher.
Opmerkingen
De standaardprioriteit is DispatcherPriority.Send.
Van toepassing op
Invoke(Delegate, DispatcherPriority, Object[])
Hiermee wordt de opgegeven gemachtigde uitgevoerd op de opgegeven prioriteit met de opgegeven argumenten synchroon op de thread waarmee de Dispatcher thread is gekoppeld.
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
Parameters
- method
- Delegate
Een gemachtigde naar een methode die parameters gebruikt die zijn opgegeven in args, die naar de Dispatcher gebeurteniswachtrij wordt gepusht.
- priority
- DispatcherPriority
De prioriteit waarmee de opgegeven methode wordt aangeroepen, ten opzichte van de andere in behandeling zijnde bewerkingen in de Dispatcher gebeurteniswachtrij.
- args
- Object[]
Een matrix van objecten die als argumenten moeten worden doorgegeven aan de opgegeven methode. Kan zijn null.
Retouren
De retourwaarde van de gemachtigde die wordt aangeroepen of null als de gemachtigde geen retourwaarde heeft.
Opmerkingen
In WPF heeft alleen de thread die een DispatcherObject heeft gemaakt, toegang tot dat object. Een achtergrondthread die wordt afgesponnen vanuit de hoofd-UI-thread, kan bijvoorbeeld de inhoud van een Button thread die is gemaakt op de UI-thread, niet bijwerken. Om de achtergrondthread toegang te geven tot de eigenschap Inhoud van de Buttonthread, moet de achtergrondthread het werk delegeren aan de Dispatcher gekoppelde ui-thread. Dit wordt bereikt met behulp van Invoke of BeginInvoke. Invoke is synchroon en BeginInvoke asynchroon. De bewerking wordt toegevoegd aan de gebeurteniswachtrij van de Dispatcher opgegeven DispatcherPriority.
Invoke is een synchrone bewerking; Daarom keert het besturingselement pas terug naar het aanroepende object nadat de callback is geretourneerd.
Van toepassing op
Invoke<TResult>(Func<TResult>)
Hiermee wordt de opgegeven Func<TResult> synchroon uitgevoerd op de thread waarmee de Dispatcher thread is gekoppeld.
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
Type parameters
- TResult
Het retourwaardetype van de opgegeven gemachtigde.
Parameters
- callback
- Func<TResult>
Een gemachtigde die moet worden aangeroepen via de dispatcher.
Retouren
De waarde die wordt geretourneerd door callback.
Van toepassing op
Invoke<TResult>(Func<TResult>, DispatcherPriority)
Hiermee wordt de opgegeven Func<TResult> synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld.
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
Type parameters
- TResult
Het retourwaardetype van de opgegeven gemachtigde.
Parameters
- callback
- Func<TResult>
Een gemachtigde die moet worden aangeroepen via de dispatcher.
- priority
- DispatcherPriority
De prioriteit die bepaalt in welke volgorde de opgegeven callback wordt aangeroepen ten opzichte van de andere bewerkingen die in behandeling zijn in de Dispatcher.
Retouren
De waarde die wordt geretourneerd door callback.
Van toepassing op
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)
Hiermee wordt de opgegeven Func<TResult> synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld.
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
Type parameters
- TResult
Het retourwaardetype van de opgegeven gemachtigde.
Parameters
- callback
- Func<TResult>
Een gemachtigde die moet worden aangeroepen via de dispatcher.
- priority
- DispatcherPriority
De prioriteit die bepaalt in welke volgorde de opgegeven callback wordt aangeroepen ten opzichte van de andere bewerkingen die in behandeling zijn in de Dispatcher.
- cancellationToken
- CancellationToken
Een object dat aangeeft of de bewerking moet worden geannuleerd.
Retouren
De waarde die wordt geretourneerd door callback.
Uitzonderingen
Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.
Van toepassing op
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)
Hiermee wordt de opgegeven Func<TResult> synchroon uitgevoerd op de opgegeven prioriteit op de thread waarmee de Dispatcher thread is gekoppeld.
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
Type parameters
- TResult
Het retourwaardetype van de opgegeven gemachtigde.
Parameters
- callback
- Func<TResult>
Een gemachtigde die moet worden aangeroepen via de dispatcher.
- priority
- DispatcherPriority
De prioriteit die bepaalt in welke volgorde de opgegeven callback wordt aangeroepen ten opzichte van de andere bewerkingen die in behandeling zijn in de Dispatcher.
- cancellationToken
- CancellationToken
Een object dat aangeeft of de bewerking moet worden geannuleerd.
- timeout
- TimeSpan
De maximale hoeveelheid tijd die moet worden gewacht totdat de bewerking is gestart. Zodra de bewerking is gestart, wordt deze voltooid voordat deze methode wordt geretourneerd. Als u een oneindige wachttijd wilt opgeven, gebruikt u de waarde -1. In een gesprek met dezelfde thread wordt elke andere negatieve waarde geconverteerd naar -1, wat resulteert in een oneindige wachttijd. In een crossthread-aanroep werpt elke andere negatieve waarde een ArgumentOutOfRangeException.
Retouren
De waarde die wordt geretourneerd door callback.
Uitzonderingen
callback is null.
timeout is een ander negatief getal dan -1 en de methode is aangeroepen in threads.
priority is geen geldige prioriteit.
Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.