public static void SnoopApplication() { Dispatcher dispatcher; if (Application.Current == null) { dispatcher = Dispatcher.CurrentDispatcher; } else { dispatcher = Application.Current.Dispatcher; } if (dispatcher.CheckAccess()) { SnoopUI snoop = new SnoopUI(); var title = TryGetMainWindowTitle(); if (!string.IsNullOrEmpty(title)) { snoop.Title = string.Format("{0} - Snoop", title); } snoop.Inspect(); CheckForOtherDispatchers(dispatcher); } else { dispatcher.Invoke((Action)SnoopApplication); return; } }
private static void LaunchSnoopApplicationOnDispatcher() { var snoop = new SnoopUI(); var title = TryGetMainWindowTitle(); if (!string.IsNullOrEmpty(title)) { snoop.Title = $"{title} - SnoopX"; } snoop.Inspect(); }
private static void DispatchOut(object o) { var visuals = (List <Visual>)o; foreach (var visual in visuals) { visual.Dispatcher.InvokeAsync(() => { var snoopOtherDispatcher = new SnoopUI(); snoopOtherDispatcher.Inspect(visual, visual as Window); }); } }
static void DispatchOut(object o) { var visuals = (List <Visual>)o; foreach (var v in visuals) { // launch a snoop ui on each dispatcher v.Dispatcher.Invoke ( (Action) ( () => { var snoopOtherDispatcher = new SnoopUI(); snoopOtherDispatcher.Inspect(v, v as Window); } ) ); } }
public static void SnoopApplication() { Trace.WriteLine("Snooping application."); Dispatcher dispatcher; if (Application.Current == null) { dispatcher = Dispatcher.CurrentDispatcher; } else { dispatcher = Application.Current.Dispatcher; } if (dispatcher.CheckAccess()) { Trace.WriteLine("Starting snoop UI."); var snoop = new SnoopUI(); var title = TryGetMainWindowTitle(); if (!string.IsNullOrEmpty(title)) { snoop.Title = $"{title} - Snoop"; } snoop.Inspect(); CheckForOtherDispatchers(dispatcher); } else { Trace.WriteLine("Current dispatcher runs on a different thread."); dispatcher.Invoke((Action)(SnoopApplication)); } }
private static void DispatchOut(object o) { List<Visual> visuals = (List<Visual>)o; foreach (var v in visuals) { // launch a snoop ui on each dispatcher v.Dispatcher.Invoke ( (Action) ( () => { SnoopUI snoopOtherDispatcher = new SnoopUI(); snoopOtherDispatcher.Inspect(v, v as Window); } ) ); } }
public static void SnoopApplication() { Dispatcher dispatcher; if (Application.Current == null) dispatcher = Dispatcher.CurrentDispatcher; else dispatcher = Application.Current.Dispatcher; if (dispatcher.CheckAccess()) { SnoopUI snoop = new SnoopUI(); var title = TryGetMainWindowTitle(); if (!string.IsNullOrEmpty(title)) { snoop.Title = string.Format("{0} - Snoop", title); } snoop.Inspect(); CheckForOtherDispatchers(dispatcher); } else { dispatcher.Invoke((Action)SnoopApplication); return; } }