GuiDispatcher
Dispatcher-Implementierung, die Aktionen an den WPF-UI-Thread mit Batching- und periodischer Ausführungsunterstützung ordnet.
Erbt von: Disposable
Implementiert: IDispatcher
Konstruktoren
public GuiDispatcher()
guiDispatcher = GuiDispatcher()
Initialisiert eine neue Instanz der Klasse GuiDispatcher @ mit dem aktuellen Thread-Dispatcher.
public GuiDispatcher(Dispatcher dispatcher)
guiDispatcher = GuiDispatcher(dispatcher)
Initialisiert eine neue Instanz der GuiDispatcher Klasse.
- dispatcher
- Die UI Thread Dispatcher Instanz.
Eigenschaften
public Dispatcher Dispatcher { get; }
value = guiDispatcher.Dispatcher
Bekommt die UI Thread Dispatcher Instanz.
public static GuiDispatcher GlobalDispatcher { get; }
value = GuiDispatcher.GlobalDispatcher
Bekommt die globale Singleton-Instanz von GuiDispatcher.
public TimeSpan Interval { get; set; }
value = guiDispatcher.Interval
guiDispatcher.Interval = value
Es wird das Batch-Verarbeitungsintervall ermittelt oder eingestellt.
public int MaxPeriodicalActionErrors { get; set; }
value = guiDispatcher.MaxPeriodicalActionErrors
guiDispatcher.MaxPeriodicalActionErrors = value
Bestimmt oder legt die maximale Anzahl von Fehlern fest, die für eine periodische Aktion erlaubt sind, bevor sie entfernt wird.
public int PendingActionsCount { get; }
value = guiDispatcher.PendingActionsCount
Bekommt die Anzahl der Aktionen, die darauf warten, verarbeitet zu werden.
Methoden
public void AddAction(Action action)
guiDispatcher.AddAction(action)
Warteschlangen eine Aktion zur Ausführung auf dem UI-Thread.
- action
- Die Aktion, die ausgeführt werden soll.
public IDisposable AddPeriodicalAction(Action action)
result = guiDispatcher.AddPeriodicalAction(action)
Fügt eine periodische Aktion hinzu, die für jeden Dispatcher-Tick ausgeführt wird. Gibt ein Token zurück, das zum Entfernen verwendet werden kann.
- action
- Die Aktion, die ausgeführt werden soll.
Rückgabe: Ein Token, das verwendet werden kann, um die Aktion zu entfernen.
public void AddSyncAction(Action action)
guiDispatcher.AddSyncAction(action)
Führt die angegebene Aktion synchron auf dem UI-Thread aus.
- action
- Die Aktion, die ausgeführt werden soll.
public T AddSyncAction<T>(Func<T> action)
result = guiDispatcher.AddSyncAction(action)
Führt die angegebene Funktion synchron auf dem UI-Thread aus und gibt dessen Ergebnis zurück.
- action
- Die Funktion zum Ausführen.
Rückgabe: Die Funktion ergibt sich.
protected override void DisposeManaged()
guiDispatcher.DisposeManaged()
Releases verwalteter Ressourcen.
public void FlushPendingActions()
guiDispatcher.FlushPendingActions()
Fordert die sofortige Verarbeitung aller in der Warteschlange stehenden Aktionen an.
public static void InitGlobalDispatcher()
GuiDispatcher.InitGlobalDispatcher()
Initialisiert den globalen Dispatcher, wenn er noch nicht erstellt wurde.
public IDisposable InvokePeriodically(Action action, TimeSpan interval)
result = guiDispatcher.InvokePeriodically(action, interval)
Ereignisse
public event Action<Exception> Error
guiDispatcher.Error += handler
Wird ausgelöst, wenn während der Ausführung einer Aktion ein Fehler auftritt.