Wie kann ich feststellen, ob Dispatcher.DisableProcessing aktiv ist?

9

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%     
Muri 23.10.2009, 07:27
quelle

2 Antworten

0

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?

    
Anvaka 23.10.2009 07:55
quelle
-1

versuche das:

%Vor%     
Alex 19.03.2013 12:32
quelle

Tags und Links