我想知道是否有观看了在WPF应用程序中提出的所有RoutedEvents的方式。一种方法写发射控制台的事件的一些信息将是知府,看看发生了什么事情。

有帮助吗?

解决方案

是的,但它需要一些反射。你使用过类似的已经做了艰苦提升你史努比的工具更好。

在标签的活动你可以看到事件的列表,并处理它的元素。

其他提示

我发现另一种方式:

我已经添加到了我的用户的负载处理程序。

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