Mar*_*rek 5 c# wpf event-handling
如何在我的WPF应用程序中收听所有按钮点击.也许包括一些复选框左右,但理想情况下我不想有额外的事件处理程序.
我想收集初始统计数据,以了解人们如何使用我们的应用程序.我想确保不干涉任何其他事件处理功能.
在应用程序中,使用自己的按钮打开和关闭新窗口,因此我无法静态地执行此操作.
或者,有任何常用的方法来收集WPF应用程序的使用情况统计信息.
如何在WPF应用中收听所有按钮点击?
您可以使用EventManager将事件挂接到类型的所有对象:
EventManager.RegisterClassHandler(typeof(Button), Button.ClickEvent, new RoutedEventHandler(Button_Click));
private void Button_Click(object sender, RoutedEventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
在应用程序中,使用自己的按钮打开和关闭新窗口,因此我无法静态地执行此操作.
如果在WPF中创建这些Windows,则可以挂钩Window事件,例如Closed,Sizechanged和Got/LostFocus().如果这些Windows不是基于WPF/Winform的,您可以使用ShellHook