2009-07-14 13 views
10

मैं सोच रहा था कि क्या डब्ल्यूपीएफ एप्लिकेशन में उठाए गए सभी रूटेड एवेन्ट्स देखने का कोई तरीका है। कंसोल पर निकाली गई घटनाओं के बारे में कुछ जानकारी लिखने का एक तरीका यह देखने के लिए प्रीफेक्ट होगा कि क्या हो रहा है।क्या WPF रूटेड घटनाओं को देखने का कोई तरीका है?

उत्तर

11

हां, लेकिन इसके लिए कुछ प्रतिबिंब की आवश्यकता है। आप Snoop जैसे टूल का उपयोग करना बेहतर कर चुके हैं जो पहले से ही आपके लिए कड़ी मेहनत कर रहा है।

टैब में घटनाक्रम आप घटनाओं की सूची देख सकते हैं, और इसे संभालने वाले तत्व को देख सकते हैं।

14

मैं एक और तरीका मिल गया है:

मैं अपने UserControl के लोड हैंडलर को यह जोड़ दिया है।

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 घटनाओं थोड़ा मेरे मामले में बहुत ज्यादा कर रहे हैं:

var events = EventManager.GetRoutedEvents(); 
foreach (var routedEvent in events) 
{ 
    EventManager.RegisterClassHandler(typeof(myUserControl), 
             routedEvent, 
             new RoutedEventHandler(handler)); 
} 

और इस हैंडलर विधि है। यदि आप इन्हें भी देखना चाहते हैं, तो हटाएं यदि कथन।

संबंधित मुद्दे

 संबंधित मुद्दे