Dispatcher.PushFrame(DispatcherFrame) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zadá smyčku execute.
public:
static void PushFrame(System::Windows::Threading::DispatcherFrame ^ frame);
[System.Security.SecurityCritical]
public static void PushFrame(System.Windows.Threading.DispatcherFrame frame);
public static void PushFrame(System.Windows.Threading.DispatcherFrame frame);
[<System.Security.SecurityCritical>]
static member PushFrame : System.Windows.Threading.DispatcherFrame -> unit
static member PushFrame : System.Windows.Threading.DispatcherFrame -> unit
Public Shared Sub PushFrame (frame As DispatcherFrame)
Parametry
- frame
- DispatcherFrame
Rámec pro zpracování dispečera.
- Atributy
Výjimky
frame je null.
HasShutdownFinished je true
nebo
frame je spuštěn na jiném Dispatcher.
nebo
Zpracování dispečeru bylo zakázáno.
Příklady
Následující příklad ukazuje, jak použít DispatcherFrame k dosažení podobných výsledků jako Windows Forms DoEvents metoda.
public void DoEvents()
{
DispatcherFrame frame = new DispatcherFrame();
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
new DispatcherOperationCallback(ExitFrame), frame);
Dispatcher.PushFrame(frame);
}
public object ExitFrame(object f)
{
((DispatcherFrame)f).Continue = false;
return null;
}
<SecurityPermissionAttribute(SecurityAction.Demand, Flags := SecurityPermissionFlag.UnmanagedCode)>
Public Sub DoEvents()
Dim frame As New DispatcherFrame()
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, New DispatcherOperationCallback(AddressOf ExitFrame), frame)
Dispatcher.PushFrame(frame)
End Sub
Public Function ExitFrame(ByVal f As Object) As Object
CType(f, DispatcherFrame).Continue = False
Return Nothing
End Function
Poznámky
A DispatcherFrame představuje smyčku, která zpracovává čekající pracovní položky.
Dispatcher zpracovává frontu pracovních položek ve smyčce. Smyčka se označuje jako rámec. Počáteční smyčka je obvykle inicializována aplikací voláním Run.
PushFrame zadá smyčku reprezentovanou parametrem frame. Při každé iteraci smyčky zkontroluje DispatcherContinue vlastnost třídy DispatcherFrame a určí, jestli má smyčka pokračovat nebo jestli by se měla zastavit.
DispatcherFrame Continue umožňuje explicitní nastavení vlastnosti a respektuje HasShutdownStarted vlastnost na objektu Dispatcher. To znamená, že když Dispatcher se začne vypínat, ukončí se rámce, které používají výchozí DispatcherFrame implementaci, což umožňuje ukončení všech vnořených snímků.