5

मैं अपने Silverlight एप्लिकेशन में डेटा पेजर नियंत्रण का उपयोग कर रहा हूं। मेरे पास अलग-अलग डेटाग्रिड्स के लिए अलग-अलग पेजर्स हैं और उन सभी के लिए PageIndexChanged ईवेंट के लिए एक ही ईवेंट हैंडलर का उपयोग करना चाहते हैं। प्रतिनिधि को एक EventArgs ऑब्जेक्ट को तर्क के रूप में लेना चाहिए। क्या मैं इस ऑब्जेक्ट का उपयोग उस नियंत्रण में "वापस पाने" के लिए कर सकता हूं जिससे ईवेंट निकाल दिया गया था?डेटापेजर इवेंटअर्ग

उत्तर

0

प्रेषक पैरामीटर उस वस्तु का संदर्भ है जिसने घटना को निकाल दिया।

तो तुम DataPager को पाने के लिए चाहते हैं तो इस यह करना चाहिए: -:

परिदृश्य 1

let pageIndexChanged (args : EventHandler<EventArgs>) = 
    // Do something 
    () 

pager.PageIndexChanged.AddHandler(pageIndexChanged) 

कौन सा yeilds

DataPager dp = (DataPager)sender; 
+0

PageIndexChanged घटना केवल एक आर्ग के एक प्रतिनिधि को स्वीकार करता है और यह प्रकार EventArg – PhilBrown

+0

@philbrowndotcom का होना चाहिए: उम्म ... तुम कहाँ से हो रही है कि? इसकी एक घटना में हस्ताक्षर 'सार्वजनिक कार्यक्रम इवेंट हैंडलर पेजइंडेक्स चेंज' है, इसलिए यह 'शून्य (ऑब्जेक्ट, इवेंटएआरजीएस) ' – AnthonyWJones

+0

के प्रतिनिधि को स्वीकार करता है, मैं निश्चित रूप से यहां कुछ खो रहा हूं। मैं एफ # में काम कर रहा हूं, मुझे नहीं पता कि इससे कितना अंतर आता है। मेरे द्वारा कोड किए गए सभी अन्य हैंडलर ने राउटेडएवेंट हैंडलर को एकमात्र तर्क के रूप में लिया और मैं फायरिंग नियंत्रण प्राप्त करने के लिए मूल स्रोत का उपयोग कर सकता था। मैं भी प्रयोग कर रहा हूं। इसके बजाय अजीब हैडलर। मैं .NET के लिए बिल्कुल नया हूं इसलिए यह सामान अभी भी मेरे लिए थोड़ा अस्पष्ट है। – PhilBrown

0

यहाँ एफ # में मेरे दो स्थितियों रहे हैं त्रुटि

यह एक्सप ression प्रकार eventhandler
की उम्मीद नहीं थी, लेकिन यहाँ
eventhandler टाइप किया है -> इकाई

परिदृश्य 2

let pageIndexChanged (args : EventArgs) = 
    // Do something 
    () 

pager.PageIndexChanged.Add(pageIndexChanged) 

संकलक इस को स्वीकार करता है, लेकिन मैं args के साथ कुछ नहीं कर सकते