Dispatcher.Invoke Metoda

Definice

Spustí zadaný delegát synchronně ve vlákně, ke které Dispatcher je přidružen.

Přetížení

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

Spustí zadaný delegát v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen.

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Provede zadaný delegát v zadané prioritě se zadaným argumentem synchronně ve vlákně, ke které Dispatcher je přidružen.

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

Spustí zadaný delegát v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen.

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Provede zadaný Action synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

Invoke(DispatcherPriority, TimeSpan, Delegate)

Provede zadaný delegát synchronně v zadané prioritě a se zadanou hodnotou časového limitu ve vlákně, které Dispatcher bylo vytvořeno.

Invoke(DispatcherPriority, Delegate, Object)

Provede zadaný delegát v zadané prioritě se zadaným argumentem synchronně ve vlákně, ke které Dispatcher je přidružen.

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

Spustí zadaný delegát v určeném časovém rozsahu v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke Dispatcher které je přidružen.

Invoke(Delegate, TimeSpan, Object[])

Spustí zadaný delegát v určeném časovém rozsahu v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke Dispatcher které je přidružen.

Invoke(Action, DispatcherPriority, CancellationToken)

Provede zadaný Action synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

Invoke(DispatcherPriority, Delegate)

Spustí zadaný delegát synchronně na zadané prioritě ve vlákně, ke Dispatcher kterému je přidružen.

Invoke(Delegate, Object[])

Spustí zadaný delegát se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen.

Invoke(Action, DispatcherPriority)

Provede zadaný Action synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

Invoke(Action)

Provede zadaný Action synchronně ve vlákně, ke Dispatcher které je přidružen.

Invoke(Delegate, DispatcherPriority, Object[])

Spustí zadaný delegát v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen.

Invoke<TResult>(Func<TResult>)

Provede zadaný Func<TResult> synchronně ve vlákně, ke Dispatcher které je přidružen.

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

Provede zadaný Func<TResult> synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

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

Provede zadaný Func<TResult> synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

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

Provede zadaný Func<TResult> synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

Příklady

Následující příklad umístí delegáta DispatcherNormal na pomocí 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

Poznámky

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

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

Spustí zadaný delegát v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen.

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

Parametry

priority
DispatcherPriority

Priorita vzhledem k ostatním čekajícími operacím ve Dispatcher frontě událostí, se kterou je vyvolána zadaná metoda.

timeout
TimeSpan

Maximální doba čekání na spuštění operace. Po spuštění operace se dokončí před vrácením této metody. Chcete-li zadat nekonečné čekání, použijte hodnotu -1. Ve volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání křížového vlákna vyvolá jakákoli jiná záporná hodnota ArgumentOutOfRangeExceptionhodnotu .

method
Delegate

Delegát metody, která přebírá více argumentů, které jsou vloženy do Dispatcher fronty událostí.

arg
Object

Objekt, který se má předat jako argument zadané metodě.

args
Object[]

Pole objektů, které se mají předat jako argumenty zadané metodě.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Atributy

Výjimky

priority je rovno Inactive.

method je null.

timeout je záporné číslo jiné než -1 a tato metoda byla vyvolána napříč vlákny.

Poznámky

arg může být null v případě, že argument není potřeba.

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Provede zadaný delegát v zadané prioritě se zadaným argumentem synchronně ve vlákně, ke které Dispatcher je přidružen.

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

Parametry

priority
DispatcherPriority

Priorita vzhledem k ostatním čekajícími operacím ve Dispatcher frontě událostí, se kterou je vyvolána zadaná metoda.

timeout
TimeSpan

Maximální doba čekání na spuštění operace. Po spuštění operace se dokončí před vrácením této metody. Chcete-li zadat nekonečné čekání, použijte hodnotu -1. Ve volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání křížového vlákna vyvolá jakákoli jiná záporná hodnota ArgumentOutOfRangeExceptionhodnotu .

method
Delegate

Delegát metody, která přebírá více argumentů, které jsou vloženy do Dispatcher fronty událostí.

arg
Object

Objekt, který se má předat jako argument dané metodě. To může být v null případě, že nejsou potřeba žádné argumenty.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Atributy

Výjimky

priority je rovno Inactive.

priority není platná priorita.

method je null.

Poznámky

arg může být null v případě, že argument není potřeba.

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

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

Spustí zadaný delegát v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen.

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

Parametry

priority
DispatcherPriority

Priorita vzhledem k ostatním čekajícími operacím ve Dispatcher frontě událostí, se kterou je vyvolána zadaná metoda.

method
Delegate

Delegát metody, která přebírá více argumentů, které jsou vloženy do Dispatcher fronty událostí.

arg
Object

Objekt, který se má předat jako argument dané metodě.

args
Object[]

Pole objektů, které mají být předány jako argumenty dané metodě.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Atributy

Výjimky

priority je rovno Inactive.

priority není platná priorita.

method je null.

Poznámky

arg může být null v případě, že argument není potřeba.

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Provede zadaný Action synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

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)

Parametry

callback
Action

Delegát akce, který se má vyvolat prostřednictvím dispečera.

priority
DispatcherPriority

Priorita, která určuje pořadí, ve kterém je vyvoláno zadané zpětné volání vzhledem k ostatním čekajících operacím v sadě Dispatcher.

cancellationToken
CancellationToken

Objekt, který označuje, zda chcete akci zrušit.

timeout
TimeSpan

Maximální doba čekání na spuštění operace. Po spuštění operace se dokončí před vrácením této metody. Chcete-li zadat nekonečné čekání, použijte hodnotu -1. Ve volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání křížového vlákna vyvolá jakákoli jiná záporná hodnota ArgumentOutOfRangeExceptionhodnotu .

Výjimky

callback je null.

timeout je záporné číslo jiné než -1 a tato metoda byla vyvolána napříč vlákny.

priority není platná priorita.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Platí pro

Invoke(DispatcherPriority, TimeSpan, Delegate)

Provede zadaný delegát synchronně v zadané prioritě a se zadanou hodnotou časového limitu ve vlákně, které Dispatcher bylo vytvořeno.

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

Parametry

priority
DispatcherPriority

Priorita vzhledem k ostatním čekajícími operacím ve Dispatcher frontě událostí, se kterou je vyvolána zadaná metoda.

timeout
TimeSpan

Maximální doba čekání na spuštění operace. Po spuštění operace se dokončí před vrácením této metody. Chcete-li zadat nekonečné čekání, použijte hodnotu -1. Ve volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání křížového vlákna vyvolá jakákoli jiná záporná hodnota ArgumentOutOfRangeExceptionhodnotu .

method
Delegate

Delegát metody, která nepřijímá žádné argumenty, které jsou vloženy do Dispatcher fronty událostí.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Atributy

Výjimky

method je null.

timeout je záporné číslo jiné než -1 a tato metoda byla vyvolána napříč vlákny.

priority je rovno Inactive.

priority není platná priorita.

Poznámky

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

Invoke(DispatcherPriority, Delegate, Object)

Provede zadaný delegát v zadané prioritě se zadaným argumentem synchronně ve vlákně, ke které Dispatcher je přidružen.

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

Parametry

priority
DispatcherPriority

Priorita vzhledem k ostatním čekajícími operacím ve Dispatcher frontě událostí, se kterou je vyvolána zadaná metoda.

method
Delegate

Delegát metody, která přebírá jeden argument, který je vložen do Dispatcher fronty událostí.

arg
Object

Objekt, který se má předat jako argument dané metodě.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Atributy

Výjimky

priority je rovno Inactive.

priority není platná priorita.

method je null.

Poznámky

arg může být null v případě, že argument není potřeba.

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

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

Spustí zadaný delegát v určeném časovém rozsahu v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke Dispatcher které je přidružen.

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

Parametry

method
Delegate

Delegát metody, která přebírá parametry zadané v args, který je vložen do Dispatcher fronty událostí.

timeout
TimeSpan

Maximální doba čekání na spuštění operace. Po spuštění operace se dokončí před vrácením této metody. Chcete-li zadat nekonečné čekání, použijte hodnotu -1. Ve volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání křížového vlákna vyvolá jakákoli jiná záporná hodnota ArgumentOutOfRangeExceptionhodnotu .

priority
DispatcherPriority

Priorita vzhledem k ostatním čekajícími operacím ve Dispatcher frontě událostí, se kterou je vyvolána zadaná metoda.

args
Object[]

Pole objektů, které mají být předány jako argumenty dané metodě. Může to být null.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Výjimky

method je null.

timeout je záporné číslo jiné než -1 a tato metoda byla vyvolána napříč vlákny.

priority je rovno Inactive.

priority není platná priorita.

Poznámky

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

Invoke(Delegate, TimeSpan, Object[])

Spustí zadaný delegát v určeném časovém rozsahu v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke Dispatcher které je přidružen.

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

Parametry

method
Delegate

Delegát metody, která přebírá parametry zadané v args, který je vložen do Dispatcher fronty událostí.

timeout
TimeSpan

Maximální doba čekání na spuštění operace. Jakmile se však operace spustí, dokončí se před vrácením této metody. Chcete-li zadat nekonečné čekání, použijte hodnotu -1. Ve volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání křížového vlákna vyvolá jakákoli jiná záporná hodnota ArgumentOutOfRangeExceptionhodnotu .

args
Object[]

Pole objektů, které mají být předány jako argumenty dané metodě. Může to být null v případě, že nejsou potřeba žádné argumenty.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Výjimky

method je null.

timeout je jiné záporné číslo než -1 a vyvoláváte je napříč vlákny.

Poznámky

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

Invoke(Action, DispatcherPriority, CancellationToken)

Provede zadaný Action synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

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)

Parametry

callback
Action

Delegát, který se má vyvolat prostřednictvím dispečera.

priority
DispatcherPriority

Priorita, která určuje pořadí, ve kterém je vyvoláno zadané zpětné volání vzhledem k ostatním čekajících operacím v sadě Dispatcher.

cancellationToken
CancellationToken

Objekt, který označuje, zda chcete akci zrušit.

Výjimky

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Platí pro

Invoke(DispatcherPriority, Delegate)

Spustí zadaný delegát synchronně na zadané prioritě ve vlákně, ke Dispatcher kterému je přidružen.

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

Parametry

priority
DispatcherPriority

Priorita, se kterou je zadaná metoda vyvolána vzhledem k ostatním čekajícími operacím ve frontě Dispatcher událostí.

method
Delegate

Delegát metody, která nepřijímá žádné argumenty, které jsou vloženy do Dispatcher fronty událostí.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Atributy

Výjimky

priority je rovno Inactive.

priority není platná priorita.

method je null.

Příklady

Následující příklad umístí delegáta DispatcherNormal na pomocí 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

Poznámky

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

Invoke(Delegate, Object[])

Spustí zadaný delegát se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen.

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

Parametry

method
Delegate

Delegát metody, která přebírá parametry zadané v args, který je vložen do Dispatcher fronty událostí.

args
Object[]

Pole objektů, které mají být předány jako argumenty dané metodě. Může to být null.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Poznámky

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

Invoke(Action, DispatcherPriority)

Provede zadaný Action synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

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)

Parametry

callback
Action

Delegát, který se má vyvolat prostřednictvím dispečera.

priority
DispatcherPriority

Priorita, která určuje pořadí, ve kterém je vyvoláno zadané zpětné volání vzhledem k ostatním čekajících operacím v sadě Dispatcher.

Platí pro

Invoke(Action)

Provede zadaný Action synchronně ve vlákně, ke Dispatcher které je přidružen.

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

Parametry

callback
Action

Delegát, který se má vyvolat prostřednictvím dispečera.

Poznámky

Výchozí prioritou je DispatcherPriority.Send.

Platí pro

Invoke(Delegate, DispatcherPriority, Object[])

Spustí zadaný delegát v zadané prioritě se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen.

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

Parametry

method
Delegate

Delegát metody, která přebírá parametry zadané v args, který je vložen do Dispatcher fronty událostí.

priority
DispatcherPriority

Priorita, se kterou je zadaná metoda vyvolána vzhledem k ostatním čekajícími operacím ve frontě Dispatcher událostí.

args
Object[]

Pole objektů, které mají být předány jako argumenty dané metodě. Může to být null.

Návraty

Vrácená hodnota z vyvolané delegáta nebo null pokud delegát nemá žádnou vrácenou hodnotu.

Poznámky

Ve WPF (Windows Presentation Foundation) může k ho objektu přistupovat pouze vlákno DispatcherObject , které vytvořilo objekt. Například vlákno na pozadí, které se spouští z hlavního vlákna uživatelského rozhraní, nemůže aktualizovat obsah vytvořeného Button ve vlákně uživatelského rozhraní. Aby vlákno na pozadí získalo přístup k vlastnosti Content podprocesu Button, musí vlákno na pozadí delegovat práci na Dispatcher přidružené vlákno uživatelského rozhraní. Toho lze dosáhnout pomocí nebo InvokeBeginInvoke. Invoke je synchronní a BeginInvoke je asynchronní. Operace se přidá do fronty událostí v zadaném bodě DispatcherDispatcherPriority.

Invoke je synchronní operace; ovládací prvek se proto nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.

Platí pro

Invoke<TResult>(Func<TResult>)

Provede zadaný Func<TResult> synchronně ve vlákně, ke Dispatcher které je přidružen.

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

Parametry typu

TResult

Návratový typ hodnoty zadaného delegáta.

Parametry

callback
Func<TResult>

Delegát, který se má vyvolat prostřednictvím dispečera.

Návraty

TResult

Hodnota vrácená hodnotou callback.

Platí pro

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

Provede zadaný Func<TResult> synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

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

Parametry typu

TResult

Návratový typ hodnoty zadaného delegáta.

Parametry

callback
Func<TResult>

Delegát, který se má vyvolat prostřednictvím dispečera.

priority
DispatcherPriority

Priorita, která určuje pořadí, ve kterém je vyvoláno zadané zpětné volání vzhledem k ostatním čekajících operacím v sadě Dispatcher.

Návraty

TResult

Hodnota vrácená hodnotou callback.

Platí pro

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

Provede zadaný Func<TResult> synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

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

Parametry typu

TResult

Návratový typ hodnoty zadaného delegáta.

Parametry

callback
Func<TResult>

Delegát, který se má vyvolat prostřednictvím dispečera.

priority
DispatcherPriority

Priorita, která určuje pořadí, ve kterém je vyvoláno zadané zpětné volání vzhledem k ostatním čekajících operacím v sadě Dispatcher.

cancellationToken
CancellationToken

Objekt, který označuje, zda chcete operaci zrušit.

Návraty

TResult

Hodnota vrácená hodnotou callback.

Výjimky

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Platí pro

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

Provede zadaný Func<TResult> synchronně na zadané prioritě ve vlákně, ke Dispatcher které je přidružen.

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

Parametry typu

TResult

Návratový typ hodnoty zadaného delegáta.

Parametry

callback
Func<TResult>

Delegát, který se má vyvolat prostřednictvím dispečera.

priority
DispatcherPriority

Priorita, která určuje pořadí, ve kterém je vyvoláno zadané zpětné volání vzhledem k ostatním čekajících operacím v sadě Dispatcher.

cancellationToken
CancellationToken

Objekt, který označuje, zda chcete operaci zrušit.

timeout
TimeSpan

Maximální doba čekání na spuštění operace. Po spuštění operace se dokončí před vrácením této metody. Chcete-li zadat nekonečné čekání, použijte hodnotu -1. Ve volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání křížového vlákna vyvolá jakákoli jiná záporná hodnota ArgumentOutOfRangeExceptionhodnotu .

Návraty

TResult

Hodnota vrácená hodnotou callback.

Výjimky

callback je null.

timeout je záporné číslo jiné než -1 a metoda byla vyvolána napříč vlákny.

priority není platná priorita.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Platí pro