मेरे wpf (C#) एप्लिकेशन में, उपयोगकर्ता द्वारा बटन दबाए जाने पर एक लंबी प्रक्रिया की जाती है। जब बटन को दबाया जाता है तब तक बटन दबाया जाता है जब तक कि विंडो को फ्रीज निष्पादित नहीं किया जाता है और उपयोगकर्ता विंडो में कोई अन्य कार्य नहीं कर सकता है। मैं पृष्ठभूमि प्रक्रिया के रूप में बटन क्लिक कोड कैसे बना सकता हूं, ताकि विंडो उपयोगकर्ता के लिए उत्तरदायी हो। मैंने निम्न विधि का प्रयास किया है, लेकिन असफल रहा।बटन क्लिक होने पर wpf UI उत्तरदायी बनाएं
private void btn_convert_Click(object sender, RoutedEventArgs e)
{
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
new Action(() => {
WorkerMethod();
}));
}
जहां वर्कर मोड संपूर्ण कोड के साथ कार्य है। कोई सुझाव
सादर,
संगीता
यह समाधान ठीक काम करता है लेकिन अपवाद के साथ। वर्कमेड में मेरे पास बटन अक्षम कोड सक्षम करता है, जो अपवाद देता है, कॉलिंग थ्रेड इस ऑब्जेक्ट तक नहीं पहुंच सकता है क्योंकि एक अलग थ्रेड का मालिक होता है। – Sangeetha
@Sangeetha उन्हें सक्षम/अक्षम करने के लिए डिस्पैचर का उपयोग करें – makc