當我嘗試獲取WPF「矩形」的事件信息時,如果routedEvent是該對象的本機事件(例如'MouseDown'),它將起作用(例如,賦值僅作爲示例) 。GetEvent()爲附加事件返回null
DependencyObject d = rectangle;
string routedEvent = "MouseDown";
EventInfo eventInfo = d.GetType().GetEvent(routedEvent,
BindingFlags.Public | BindingFlags.Instance);
但是,當我想要得到的EventInfo一個附加事件(我想我正確地使用這個詞)上,如矩形:
string routedEvent = "Microsoft.Surface.Presentation.Contacts.ContactDownEvent";
GetEvent()返回null
關於如何獲取附加事件的事件信息的任何想法。
感謝
丹
RoutedEvent [] routedEvents = EventManager.GetRoutedEventsForOwner(d.GetType());返回null? 我驗證了d.GetType()返回矩形。 – 2009-09-03 15:55:56
更新了我的答案。 – 2009-09-03 16:17:59
肯特,感謝您的建議。我感覺我正在接近。 我原來的要求是獲取EventInfo對象,因爲我想添加一個事件處理程序(通過.AddEventHandler)。如果我得到一個RoutedEvent類型而不是EventInfo(通過您的推薦),我該如何添加一個處理程序?謝謝 – 2009-09-03 19:28:56