मैंने हाल ही में WPF में प्रोग्रामिंग शुरू की है और निम्नलिखित समस्या से टकरा रहा है। मुझे समझ में नहीं आता कि कैसे Dispatcher.Invoke()
विधि का उपयोग करना है। मुझे थ्रेडिंग का अनुभव है और मैंने कुछ सरल विंडोज़ फॉर्म प्रोग्राम बनाए हैं जहाँ मैंने अभी उपयोग किया है
Control.CheckForIllegalCrossThreadCalls = false;
हाँ, मुझे पता है कि यह बहुत ही लंगड़ा है लेकिन ये सरल निगरानी अनुप्रयोग थे।
तथ्य यह है कि अब मैं एक WPF एप्लिकेशन बना रहा हूं, जो बैकग्राउंड में डेटा को पुनः प्राप्त करता है, मैं डेटा को पुनः प्राप्त करने के लिए कॉल करने के लिए एक नया थ्रेड शुरू करता हूं (एक वेबसर्वर से), अब मैं इसे अपने WPF फॉर्म पर प्रदर्शित करना चाहता हूं। बात यह है कि, मैं इस धागे से कोई नियंत्रण स्थापित नहीं कर सकता। लेबल या कुछ भी नहीं। इसका समाधान कैसे हो सकता है?
उत्तर टिप्पणियाँ:
@ जालफ: तो जब मैं डेटा प्राप्त करता हूं तो इस डिस्पैचर पद्धति का उपयोग 'नए ट्रेडर
' में करता हूं? या क्या मुझे एक बैकग्राउंड वर्कर को डेटा प्राप्त करना चाहिए, इसे एक फ़ील्ड में डालना चाहिए और एक नया थ्रेड शुरू करना चाहिए जो इस फ़ील्ड के भर जाने तक प्रतीक्षा करता है और प्रेषित डेटा को कंट्रोल में दिखाने के लिए डिस्पैचर को कॉल करता है?