Eine Ausnahme wird ausgelöst, wenn versucht wird, ein Meldungsfeld anzuzeigen, wenn Dispatcher
ausgesetzt ist ( Dispatcher.DisableProcessing()
aufgerufen).
InvalidOperationException: "Dispatcher-Verarbeitung wurde angehalten" (siehe hier ).
Weiß jemand, wie ich feststellen kann, wo der Dispatcher
ausgesetzt ist oder nicht (also weiß ich, wann BeginInvoke()
aufgerufen werden soll)?
Bearbeiten 1:
Als Reaktion auf das Application.DispatcherUnhandledException-Ereignis versuche ich eine MessageBox anzuzeigen. Wenn diese nicht behandelte Ausnahme während DataBinding (d. H.% Co_de%) ausgelöst wurde, wird die ItemsControl.ItemsSource
jedoch ausgesetzt. Der Versuch, Dispatcher
anzuzeigen, schlägt fehl. Immer mit MessageBox
löst das Problem, aber ich möchte das nicht tun, es sei denn, wirklich notwendig.
Bearbeiten 2:
Um dies zu erreichen, funktioniert Reflection folgendermaßen:
%Vor%Es gibt dort keine öffentliche Schnittstelle, also haben Sie keine legale Möglichkeit zu sagen, ob es gesperrt ist oder nicht. Du kannst immer noch nachdenken, aber im Allgemeinen zeigt dies an, dass du etwas völlig falsch machst.
Wenn Sie uns mehr Details geben könnten, könnten wir Ihnen die richtige Lösung vorschlagen?
Tags und Links wpf dispatcher