WPFアプリケーションで発生したすべてのRoutedEventsを監視する方法があるのだろうかと思っていました。コンソールに発せられたイベントに関する情報を書き込む方法は、何が起こっているかを知ることができます。WPFルーティングイベントを監視する方法はありますか?
10
A
答えて
11
はい、一部反映されています。あなたはすでにあなたのためにハード持ち上げてSnoopのようなツールを使用してより良いです。
タブイベントイベントのリストとそれを処理した要素が表示されます。
14
私は別の方法を見つけた:
私は私のユーザーコントロールのロードされたハンドラにこれを追加しました。
var events = EventManager.GetRoutedEvents();
foreach (var routedEvent in events)
{
EventManager.RegisterClassHandler(typeof(myUserControl),
routedEvent,
new RoutedEventHandler(handler));
}
と、これはハンドラメソッドです:
internal static void handler(object sender, RoutedEventArgs e)
{
if (e.RoutedEvent.ToString() != "CommandManager.PreviewCanExecute" &&
e.RoutedEvent.ToString() != "CommandManager.CanExecute")
Console.WriteLine(e.OriginalSource+"=>"+e.RoutedEvent);
}
CanExecuteイベントは、私の場合のビットすぎています。これらを表示したい場合は、文の場合はを削除してください。