2010-01-11 9 views
5

असल में मुझे यह जानने की ज़रूरत है कि मुझे डिस्पैचर करने की आवश्यकता है या नहीं। BginginInvoke या यदि इसकी आवश्यकता नहीं है।सिल्वरलाइट में, आप कैसे पता लगाते हैं कि कोड यूआई थ्रेड में चल रहा है या नहीं?

धन्यवाद।

उत्तर

10

आप Dispatcher.CheckAccess विधि का उपयोग कर सकते हैं। यह सच हो जाता है यदि आप यूआई डिस्पैचर के समान थ्रेड पर हैं, और झूठी अन्यथा

+0

क्या डिस्पैचर प्राप्त करने के लिए कोई स्थिर प्रविष्टि बिंदु है? AFAIK मुझे डिस्पैचर को पकड़ने के लिए एक UI तत्व की आवश्यकता है। – rui

+0

एक स्थिर प्रविष्टि बिंदु ('डिस्पैचर.क्यूरेंट डिस्पैचर ') है, लेकिन यह वर्तमान थ्रेड के लिए प्रेषक को वापस करेगा, यूआई थ्रेड नहीं ... यदि आप यूआई थ्रेड चाहते हैं, तो आप' Application.Current.RootVisual 'का उपयोग कर सकते हैं। डिस्पैचर ' –

+0

आप परिनियोजन भी कर सकते हैं। वर्तमान। डिस्पैचर –

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

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