문제

WPF 응용 프로그램에서 제기되는 모든 라우팅 벤트를 볼 수있는 방법이 있는지 궁금합니다. 콘솔에 해고 된 이벤트에 대한 정보를 작성하는 방법은 무슨 일이 일어나고 있는지 확인하는 일이 될 것입니다.

도움이 되었습니까?

해결책

예, 그러나 약간의 반사가 필요합니다. 당신은 같은 도구를 사용하는 것이 좋습니다 탐정 그것은 이미 당신을 위해 어려운 리프팅을합니다.

탭에서 이벤트 이벤트 목록과 처리 한 요소를 볼 수 있습니다.

다른 팁

다른 방법을 찾았습니다.

usercontrol의로드 된 처리기에 이것을 추가했습니다.

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 제 경우에는 이벤트가 너무 많습니다. 이것들을보고 싶다면 만약에 성명.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top