पृष्ठभूमि थ्रेड पर किए जा रहे कार्यों के लिए एमवीवीएम व्यू मॉडल Progress
संपत्ति को मैं कैसे संशोधित करूं?एमवीवीएम में पृष्ठभूमि थ्रेड प्रगति अधिसूचना?
मैं एक एमवीवीएम ऐप बना रहा हूं जो Task.Factory.StartNew()
और Parallel.ForEach()
का उपयोग करके पृष्ठभूमि थ्रेड पर एक कार्य निष्पादित कर रहा है। मैं एक गाइड के रूप में this article का उपयोग कर रहा हूँ। अब तक, मेरे कोड इस तरह दिखता है:
Task.Factory.StartNew(() => DoWork(fileList, viewModel));
कहाँ fileList
फ़ाइलों की एक सूची है संसाधित करने के लिए, और viewModel
Progress
संपत्ति के साथ दृश्य मॉडल है। DoWork()
विधि, इस तरह दिखता है अब तक:
private object DoWork(string[] fileList, ProgressDialogViewModel viewModel)
{
Parallel.ForEach(fileList, imagePath => ProcessImage(imagePath));
}
ProcessImage()
विधि वास्तविक छवि प्रसंस्करण करता है। दृश्य मॉडल की Progress
संपत्ति पृष्ठभूमि में प्रगति पट्टी से जुड़ी हुई है जो पृष्ठभूमि प्रक्रिया शुरू होने से ठीक पहले प्रदर्शित होती है।
मैं Parallel.ForEach()
कथन के प्रत्येक पुनरावृत्ति के बाद दृश्य मॉडल Progress
संपत्ति को अपडेट करना चाहता हूं। मुझे बस इतना करना है कि संपत्ति मूल्य में वृद्धि हुई है। मैं उसको कैसे करू? आपकी सहायता के लिए धन्यवाद.
क्या 'प्रगति' सिर्फ एक int, float, या double है? –