पर कर्सर अपडेट नहीं कर रहा है मैं एक WPF ऐप पर काम कर रहा हूं और मैं बस कार्य चलाने से पहले और बाद में कर्सर को बदलना चाहता हूं।कार्य जारी रखें() यूआई थ्रेड
this.Cursor = Cursors.Wait;
Task.Factory.StartNew(() => PerformMigration(legacyTrackerIds)).ContinueWith(_ => this.Cursor = Cursors.Arrow);
कर्सर वास्तव में इंतजार कर्सर में बदल जाती है, लेकिन जब काम किया जाता है यह तीर को वापस नहीं बदलता है: मैं इस कोड है। अगर मैं ContinueWith() विधि में ब्रेकपॉइंट डालता हूं, तो यह हिट हो जाता है। लेकिन कर्सर एक तीर पर वापस नहीं बदलता है। क्यूं कर?
यह पुराना तरीका था जिसकी मैं कोशिश कर रहा था। कर्सर वापस एक तीर में बदल गया, लेकिन मैं कार्य के लिए प्रतीक्षा() इंतजार नहीं करना चाहता।
this.Cursor = Cursors.Wait;
Task.Factory.StartNew(() => PerformMigration(legacyTrackerIds)).Wait();
this.Cursor = Cursors.Arrow;
क्या मुझे अपवाद नहीं मिलना चाहिए? –
@BobHorn आप बहुत संभव हैं, लेकिन चूंकि यह पृष्ठभूमि धागे में है, यह केवल उस धागे को नीचे ला रहा है, न कि पूरे आवेदन। – Servy
जब मैं पहला सुझाव आज़माता हूं, तो मुझे संकलन-समय त्रुटि मिलती है: '' सिस्टम। डिलीगेट 'टाइप करने के लिए लैम्ब्डा अभिव्यक्ति को परिवर्तित नहीं किया जा सकता क्योंकि यह एक प्रतिनिधि प्रकार नहीं है। –