मैंने इस तरह कोड में कुछ बटन बनाए हैं।
if (infoLoader.categoriesLoaded) { बाजूबार्बटोन = नया बटन [infoLoader.categoriesLength]; के लिए (इंट आई = 0; आई & lt; साइडबारबटोन। लैंगिथ; आई ++) {साइडबार्बटोन [आई] = नया बटन (); साइडबार्बटोन [आई] .सामग्री = सूचनालेखक [i] .name; कैनवास.SetLeft (साइडबारबटोन [आई], 30); कैनवास। सैट टोप (साइडबारबटोन [आई], 110 + (40 * आई)); साइडबार्बटोन [आई]। + + नया इवेंटहैंडलर क्लिक करें (this.SideButton_Click); leftSideBar.Children.Add (sideBarButtons [i]); }} इस तरह बटन इवेंट हैंडलिंग फ़ंक्शन के साथ:
निजी शून्य SideButton_Click (ऑब्जेक्ट प्रेषक, EventArgs ई) {// Uhh Console.WriteLine ( "बटन क्लिक किया गया है।"); MainText.Text = infoLoader.games [0] .id.ToString () + "," + infoLoader.games [0] .name + ":" + infoLoader.games [0] .न्याय; MainLaunchBtn.Content = "लॉन्च करें" + InfoLoader.games [0] .name; } और यह मुझे त्रुटि दे रहा है:
त्रुटि 1 'साइडबटोन_लिंक' मैचों के प्रतिनिधि के लिए कोई अधिभार नहीं 'system.EventHandler'
एम की तरह मुझे क्या याद आ रही है के रूप में उलझन में है, और किसी भी मदद की सराहना की जाएगी। धन्यवाद,
एंडी
WPF में ईवेंट ( बटनबेस से विरासत में मिली ) प्रकार EventHandler नहीं है - यह RoutedEventHandler है। मैं आपको मिलने वाले सटीक त्रुटि संदेश के बारे में कुछ हद तक आश्चर्यचकित हूं, लेकिन आपको अपना कोड इन्हें बदलने में सक्षम होना चाहिए:
बाजूबार्बटोन [i]। + नया राउटेडएवेंटहैंडलर क्लिक करें (this.SideButton_Click ); या अधिक बस:
साइडबारबुटन्स [i]। क्लिक करें + = this.SideButton_Click; प्रतिनिधि प्रतिनिधि अपने मौजूदा विधि हस्ताक्षर को RoutedEventHandler में परिवर्तित होने की अनुमति देगा, भले ही दूसरा पैरामीटर प्रकार EventArgs के बजाय है RoutedEventArgs ।
आपको यह पता होना चाहिए कि आपको सही का उपयोग करके निर्देश प्राप्त है - सुनिश्चित करें कि आप वास्तव में WinForms बटन के बजाय WPF बटन बना रहे हैं ।
Comments
Post a Comment