Dispatcher.Invoke Metod

Definition

Kör det angivna ombudet synkront på den tråd som Dispatcher är associerad med.

Överlagringar

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

Kör det angivna ombudet med den angivna prioriteten med de angivna argumenten synkront i tråden som Dispatcher är associerad med.

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Kör det angivna ombudet med den angivna prioriteten med det angivna argumentet synkront på den tråd som Dispatcher är associerad med.

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

Kör det angivna ombudet med den angivna prioriteten med de angivna argumenten synkront i tråden som Dispatcher är associerad med.

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Kör den angivna Action synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

Invoke(DispatcherPriority, TimeSpan, Delegate)

Kör det angivna ombudet synkront med den angivna prioriteten och med det angivna tidsgränsvärdet i tråden som Dispatcher skapades.

Invoke(DispatcherPriority, Delegate, Object)

Kör det angivna ombudet med den angivna prioriteten med det angivna argumentet synkront på den tråd som Dispatcher är associerad med.

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

Kör det angivna ombudet inom det angivna tidsintervallet vid den angivna prioriteten med de angivna argumenten synkront på den tråd som Dispatcher är associerad med.

Invoke(Delegate, TimeSpan, Object[])

Kör det angivna ombudet inom det angivna tidsintervallet vid den angivna prioriteten med de angivna argumenten synkront på den tråd som Dispatcher är associerad med.

Invoke(Action, DispatcherPriority, CancellationToken)

Kör den angivna Action synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

Invoke(DispatcherPriority, Delegate)

Kör det angivna ombudet synkront med den angivna prioriteten i tråden Dispatcher som är associerad med.

Invoke(Delegate, Object[])

Kör det angivna ombudet med de angivna argumenten synkront på den tråd som Dispatcher är associerad med.

Invoke(Action, DispatcherPriority)

Kör den angivna Action synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

Invoke(Action)

Kör den angivna Action synkront på tråden som Dispatcher är associerad med.

Invoke(Delegate, DispatcherPriority, Object[])

Kör det angivna ombudet med den angivna prioriteten med de angivna argumenten synkront i tråden som Dispatcher är associerad med.

Invoke<TResult>(Func<TResult>)

Kör den angivna Func<TResult> synkront på tråden som Dispatcher är associerad med.

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

Kör den angivna Func<TResult> synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

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

Kör den angivna Func<TResult> synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

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

Kör den angivna Func<TResult> synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

Exempel

I följande exempel placeras ett ombud på en Dispatcher vid Normal användning av Invoke.

// 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

Kommentarer

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

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

Kör det angivna ombudet med den angivna prioriteten med de angivna argumenten synkront i tråden som Dispatcher är associerad med.

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

Parametrar

priority
DispatcherPriority

Prioriteten, i förhållande till de andra väntande åtgärderna i Dispatcher händelsekön, med vilken den angivna metoden anropas.

timeout
TimeSpan

Den maximala väntetiden för att åtgärden ska starta. När åtgärden har startats slutförs den innan den här metoden returneras. Om du vill ange en oändlig väntan använder du värdet -1. I ett anrop med samma tråd konverteras alla andra negativa värden till -1, vilket resulterar i en oändlig väntan. I ett korstrådsanrop genererar alla andra negativa värden en ArgumentOutOfRangeException.

method
Delegate

Ett ombud till en metod som tar flera argument, som skickas till Dispatcher händelsekön.

arg
Object

Ett objekt som ska skickas som ett argument till den angivna metoden.

args
Object[]

En matris med objekt som ska skickas som argument till den angivna metoden.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Attribut

Undantag

priority är lika med Inactive.

priority är inte ett giltigt DispatcherPriority.

method är null.

timeout är ett annat negativt tal än -1 och den här metoden anropades över trådar.

Kommentarer

arg kan vara null om ett argument inte behövs.

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Kör det angivna ombudet med den angivna prioriteten med det angivna argumentet synkront på den tråd som Dispatcher är associerad med.

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

Parametrar

priority
DispatcherPriority

Prioriteten, i förhållande till de andra väntande åtgärderna i Dispatcher händelsekön, med vilken den angivna metoden anropas.

timeout
TimeSpan

Den maximala väntetiden för att åtgärden ska starta. När åtgärden har startats slutförs den innan den här metoden returneras. Om du vill ange en oändlig väntan använder du värdet -1. I ett anrop med samma tråd konverteras alla andra negativa värden till -1, vilket resulterar i en oändlig väntan. I ett korstrådsanrop genererar alla andra negativa värden en ArgumentOutOfRangeException.

method
Delegate

Ett ombud till en metod som tar flera argument, som skickas till Dispatcher händelsekön.

arg
Object

Ett objekt som ska skickas som ett argument till den angivna metoden. Detta kan vara null om inga argument behövs.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Attribut

Undantag

priority är lika med Inactive.

priority är inte en giltig prioritet.

method är null.

Kommentarer

arg kan vara null om ett argument inte behövs

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

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

Kör det angivna ombudet med den angivna prioriteten med de angivna argumenten synkront i tråden som Dispatcher är associerad med.

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

Parametrar

priority
DispatcherPriority

Prioriteten, i förhållande till de andra väntande åtgärderna i Dispatcher händelsekön, med vilken den angivna metoden anropas.

method
Delegate

Ett ombud till en metod som tar flera argument, som skickas till Dispatcher händelsekön.

arg
Object

Ett objekt som ska skickas som ett argument till den angivna metoden.

args
Object[]

En matris med objekt som ska skickas som argument till den angivna metoden.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Attribut

Undantag

priority är lika med Inactive.

priority är inte en giltig prioritet.

method är null.

Kommentarer

arg kan vara null om ett argument inte behövs

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Kör den angivna Action synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

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)

Parametrar

callback
Action

Ett åtgärdsdelegat som ska anropas via avsändaren.

priority
DispatcherPriority

Prioriteten som avgör i vilken ordning den angivna återanropet anropas i förhållande till de andra väntande åtgärderna i Dispatcher.

cancellationToken
CancellationToken

Ett objekt som anger om åtgärden ska avbrytas.

timeout
TimeSpan

Den maximala väntetiden för att åtgärden ska starta. När åtgärden har startats slutförs den innan den här metoden returneras. Om du vill ange en oändlig väntan använder du värdet -1. I ett anrop med samma tråd konverteras alla andra negativa värden till -1, vilket resulterar i en oändlig väntan. I ett korstrådsanrop genererar alla andra negativa värden en ArgumentOutOfRangeException.

Undantag

callback är null.

timeout är ett annat negativt tal än -1 och den här metoden anropades över trådar.

priority är inte en giltig prioritet.

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Gäller för

Invoke(DispatcherPriority, TimeSpan, Delegate)

Kör det angivna ombudet synkront med den angivna prioriteten och med det angivna tidsgränsvärdet i tråden som Dispatcher skapades.

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

Parametrar

priority
DispatcherPriority

Prioriteten, i förhållande till de andra väntande åtgärderna i Dispatcher händelsekön, med vilken den angivna metoden anropas.

timeout
TimeSpan

Den maximala väntetiden för att åtgärden ska starta. När åtgärden har startats slutförs den innan den här metoden returneras. Om du vill ange en oändlig väntan använder du värdet -1. I ett anrop med samma tråd konverteras alla andra negativa värden till -1, vilket resulterar i en oändlig väntan. I ett korstrådsanrop genererar alla andra negativa värden en ArgumentOutOfRangeException.

method
Delegate

Ombudet till en metod som inte tar några argument, som skickas till Dispatcher händelsekön.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Attribut

Undantag

method är null.

timeout är ett annat negativt tal än -1 och den här metoden anropades över trådar.

priority är lika med Inactive.

priority är inte en giltig prioritet.

Kommentarer

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

Invoke(DispatcherPriority, Delegate, Object)

Kör det angivna ombudet med den angivna prioriteten med det angivna argumentet synkront på den tråd som Dispatcher är associerad med.

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

Parametrar

priority
DispatcherPriority

Prioriteten, i förhållande till de andra väntande åtgärderna i Dispatcher händelsekön, med vilken den angivna metoden anropas.

method
Delegate

Ett ombud till en metod som tar ett argument, som skickas till Dispatcher händelsekön.

arg
Object

Ett objekt som ska skickas som ett argument till den angivna metoden.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Attribut

Undantag

priority är lika med Inactive.

priority är inte en giltig prioritet.

method är null.

Kommentarer

arg kan vara null om ett argument inte behövs

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

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

Kör det angivna ombudet inom det angivna tidsintervallet vid den angivna prioriteten med de angivna argumenten synkront på den tråd som Dispatcher är associerad med.

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

Parametrar

method
Delegate

Ett ombud till en metod som tar parametrar som anges i args, som skickas till Dispatcher händelsekön.

timeout
TimeSpan

Den maximala väntetiden för att åtgärden ska starta. När åtgärden har startats slutförs den innan den här metoden returneras. Om du vill ange en oändlig väntan använder du värdet -1. I ett anrop med samma tråd konverteras alla andra negativa värden till -1, vilket resulterar i en oändlig väntan. I ett korstrådsanrop genererar alla andra negativa värden en ArgumentOutOfRangeException.

priority
DispatcherPriority

Prioriteten, i förhållande till de andra väntande åtgärderna i Dispatcher händelsekön, med vilken den angivna metoden anropas.

args
Object[]

En matris med objekt som ska skickas som argument till den angivna metoden. Kan vara null.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Undantag

method är null.

timeout är ett annat negativt tal än -1 och den här metoden anropades över trådar.

priority är lika med Inactive.

priority är inte en giltig prioritet.

Kommentarer

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

Invoke(Delegate, TimeSpan, Object[])

Kör det angivna ombudet inom det angivna tidsintervallet vid den angivna prioriteten med de angivna argumenten synkront på den tråd som Dispatcher är associerad med.

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

Parametrar

method
Delegate

Ett ombud till en metod som tar parametrar som anges i args, som skickas till Dispatcher händelsekön.

timeout
TimeSpan

Den maximala väntetiden för att åtgärden ska starta. Men när åtgärden startar slutförs den innan den här metoden returneras. Om du vill ange en oändlig väntan använder du värdet -1. I ett anrop med samma tråd konverteras alla andra negativa värden till -1, vilket resulterar i en oändlig väntan. I ett korstrådsanrop genererar alla andra negativa värden en ArgumentOutOfRangeException.

args
Object[]

En matris med objekt som ska skickas som argument till den angivna metoden. Kan vara null om inga argument behövs.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Undantag

method är null.

timeout är ett annat negativt tal än -1 och du anropar över trådar.

Kommentarer

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

Invoke(Action, DispatcherPriority, CancellationToken)

Kör den angivna Action synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

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)

Parametrar

callback
Action

Ett ombud som ska anropas via avsändaren.

priority
DispatcherPriority

Prioriteten som avgör i vilken ordning den angivna återanropet anropas i förhållande till de andra väntande åtgärderna i Dispatcher.

cancellationToken
CancellationToken

Ett objekt som anger om åtgärden ska avbrytas.

Undantag

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Gäller för

Invoke(DispatcherPriority, Delegate)

Kör det angivna ombudet synkront med den angivna prioriteten i tråden Dispatcher som är associerad med.

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

Parametrar

priority
DispatcherPriority

Den prioritet med vilken den angivna metoden anropas, i förhållande till de andra väntande åtgärderna i Dispatcher händelsekön.

method
Delegate

Ett ombud till en metod som inte tar några argument, som skickas till Dispatcher händelsekön.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Attribut

Undantag

priority är lika med Inactive.

priority är inte en giltig prioritet.

method är null.

Exempel

I följande exempel placeras ett ombud på en Dispatcher vid Normal användning av Invoke.

// 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

Kommentarer

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

Invoke(Delegate, Object[])

Kör det angivna ombudet med de angivna argumenten synkront på den tråd som Dispatcher är associerad med.

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

Parametrar

method
Delegate

Ett ombud till en metod som tar parametrar som anges i args, som skickas till Dispatcher händelsekön.

args
Object[]

En matris med objekt som ska skickas som argument till den angivna metoden. Kan vara null.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Kommentarer

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

Invoke(Action, DispatcherPriority)

Kör den angivna Action synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

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)

Parametrar

callback
Action

Ett ombud som ska anropas via avsändaren.

priority
DispatcherPriority

Prioriteten som avgör i vilken ordning den angivna återanropet anropas i förhållande till de andra väntande åtgärderna i Dispatcher.

Gäller för

Invoke(Action)

Kör den angivna Action synkront på tråden som Dispatcher är associerad med.

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

Parametrar

callback
Action

Ett ombud som ska anropas via avsändaren.

Kommentarer

Standardprioriteten är DispatcherPriority.Send.

Gäller för

Invoke(Delegate, DispatcherPriority, Object[])

Kör det angivna ombudet med den angivna prioriteten med de angivna argumenten synkront i tråden som Dispatcher är associerad med.

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

Parametrar

method
Delegate

Ett ombud till en metod som tar parametrar som anges i args, som skickas till Dispatcher händelsekön.

priority
DispatcherPriority

Den prioritet med vilken den angivna metoden anropas, i förhållande till de andra väntande åtgärderna i Dispatcher händelsekön.

args
Object[]

En matris med objekt som ska skickas som argument till den angivna metoden. Kan vara null.

Returer

Returvärdet från ombudet som anropas eller null om ombudet inte har något returvärde.

Kommentarer

I WPF kan endast tråden som skapade en DispatcherObject komma åt objektet. En bakgrundstråd som har knoppats av från huvudtråden för användargränssnittet kan till exempel inte uppdatera innehållet i en Button som skapades i användargränssnittstråden. För att bakgrundstråden ska få åtkomst till egenskapen ButtonInnehåll för måste bakgrundstråden delegera arbetet till den Dispatcher associerade med användargränssnittstråden. Detta görs med hjälp av antingen Invoke eller BeginInvoke. Invoke är synkron och BeginInvoke asynkron. Åtgärden läggs till i händelsekön för Dispatcher den angivna DispatcherPriority.

Invoke är en synkron åtgärd. Kontrollen återgår därför inte till det anropande objektet förrän återanropet har returnerats.

Gäller för

Invoke<TResult>(Func<TResult>)

Kör den angivna Func<TResult> synkront på tråden som Dispatcher är associerad med.

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

Typparametrar

TResult

Returvärdetypen för det angivna ombudet.

Parametrar

callback
Func<TResult>

Ett ombud som ska anropas via avsändaren.

Returer

TResult

Värdet som returneras av callback.

Gäller för

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

Kör den angivna Func<TResult> synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

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

Typparametrar

TResult

Returvärdetypen för det angivna ombudet.

Parametrar

callback
Func<TResult>

Ett ombud som ska anropas via avsändaren.

priority
DispatcherPriority

Prioriteten som avgör i vilken ordning den angivna återanropet anropas i förhållande till de andra väntande åtgärderna i Dispatcher.

Returer

TResult

Värdet som returneras av callback.

Gäller för

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

Kör den angivna Func<TResult> synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

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

Typparametrar

TResult

Returvärdetypen för det angivna ombudet.

Parametrar

callback
Func<TResult>

Ett ombud som ska anropas via avsändaren.

priority
DispatcherPriority

Prioriteten som avgör i vilken ordning den angivna återanropet anropas i förhållande till de andra väntande åtgärderna i Dispatcher.

cancellationToken
CancellationToken

Ett objekt som anger om åtgärden ska avbrytas.

Returer

TResult

Värdet som returneras av callback.

Undantag

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Gäller för

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

Kör den angivna Func<TResult> synkront vid den angivna prioriteten i tråden som Dispatcher är associerad med.

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

Typparametrar

TResult

Returvärdetypen för det angivna ombudet.

Parametrar

callback
Func<TResult>

Ett ombud som ska anropas via avsändaren.

priority
DispatcherPriority

Prioriteten som avgör i vilken ordning den angivna återanropet anropas i förhållande till de andra väntande åtgärderna i Dispatcher.

cancellationToken
CancellationToken

Ett objekt som anger om åtgärden ska avbrytas.

timeout
TimeSpan

Den maximala väntetiden för att åtgärden ska starta. När åtgärden har startats slutförs den innan den här metoden returneras. Om du vill ange en oändlig väntan använder du värdet -1. I ett anrop med samma tråd konverteras alla andra negativa värden till -1, vilket resulterar i en oändlig väntan. I ett korstrådsanrop genererar alla andra negativa värden en ArgumentOutOfRangeException.

Returer

TResult

Värdet som returneras av callback.

Undantag

callback är null.

timeout är ett annat negativt tal än -1 och metoden anropades mellan trådar.

priority är inte en giltig prioritet.

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Gäller för