मैं कैसे सुनिश्चित कर सकता हूं कि दृश्य मॉडल ठीक से निपटान किए गए हैं यदि वे अप्रबंधित संसाधनों का संदर्भ देते हैं या ईवेंट हैंडलर हैं जैसे प्रेषक टाइमर पर समाप्त होकर। पहले मामले में, फाइनलर एक विकल्प है, हालांकि आदर्श नहीं है, लेकिन बाद में, इसे कभी नहीं कहा जाएगा। जब हम दृश्य मॉडल से जुड़े दृश्य को नहीं देखते हैं तो हम कैसे बता सकते हैं।डब्ल्यूपीएफ में डिस्पोजेबल व्यू मॉडल का उपयोग कैसे करें?
11
A
उत्तर
5
एक संभव है, हालांकि नहीं सही समाधान:
पर देखें मॉडल IDisposable को लागू करें, तो देखने के निर्माता में इस विस्तार विधि का उपयोग करें।
public static void HandleDisposableViewModel(this FrameworkElement Element)
{
Action Dispose =() =>
{
var DataContext = Element.DataContext as IDisposable;
if (DataContext != null)
{
DataContext.Dispose();
}
};
Element.Unloaded += (s, ea) => Dispose();
Element.Dispatcher.ShutdownStarted += (s, ea) => Dispose();
}
7
मैं ऐसा करके यह पूरा निम्नलिखित:
- App.xaml से StartupUri संपत्ति निकाला जा रहा है।
मेरी अनुप्रयोग वर्ग इस प्रकार निर्धारित करना:
public partial class App : Application { public App() { IDisposable disposableViewModel = null; //Create and show window while storing datacontext this.Startup += (sender, args) => { MainWindow = new MainWindow(); disposableViewModel = MainWindow.DataContext as IDisposable; MainWindow.Show(); }; //Dispose on unhandled exception this.DispatcherUnhandledException += (sender, args) => { if (disposableViewModel != null) disposableViewModel.Dispose(); }; //Dispose on exit this.Exit += (sender, args) => { if (disposableViewModel != null) disposableViewModel.Dispose(); }; } }
संबंधित मुद्दे
- 1. एमवीवीएम व्यू मॉडल में सी # डब्ल्यूपीएफ थ्रेड को कैसे संभालें
- 2. डब्ल्यूपीएफ में एक्सएनए का उपयोग कैसे करें?
- 3. मॉडल-व्यू-प्रस्तुतकर्ता और मॉडल संवाद बॉक्स .... कैसे करें?
- 4. मॉडल-व्यू-व्यू मॉडल पैटर्न डीआरवाई का उल्लंघन?
- 5. डिस्पोजेबल, ब्लॉकों का उपयोग करके/कोशिश करें/पकड़ें
- 6. डब्ल्यूसीएफ/डब्ल्यूपीएफ का उपयोग कैसे शुरू करें?
- 7. डब्ल्यूपीएफ - एमवीवीएम - मॉडल पदानुक्रम देखें
- 8. डब्ल्यूपीएफ - दृश्य मॉडल
- 9. डब्ल्यूपीएफ: ट्री व्यू वर्चुअलाइजेशन
- 10. जावास्क्रिप्ट में मॉडल-व्यू-कंट्रोलर
- 11. डिस्पोजेबल वस्तुओं की सूची का निपटान कैसे करें?
- 12. डब्ल्यूपीएफ में जीडीआई + ड्राइंग का उपयोग कैसे करें?
- 13. डब्ल्यूपीएफ: 1 बाध्यकारी में 2 कन्वर्टर्स का उपयोग कैसे करें?
- 14. डब्ल्यूपीएफ में विंडोज प्रमाणीकरण का उपयोग कैसे करें?
- 15. कोडबेहिंड में डब्ल्यूपीएफ के तारांकन आकार का उपयोग कैसे करें?
- 16. शेल व्यू मॉडल क्लास [Caliburn.Micro]
- 17. मॉडल व्यू कंट्रोलर
- 18. डब्ल्यूपीएफ आवेदन में मॉडल संदेशबॉक्स
- 19. एएसपी.NET एमवीसी व्यू में क्वेरीस्ट्रिंग का उपयोग कैसे करें?
- 20. कंसोल एप्लिकेशन में रेजर व्यू इंजन का उपयोग कैसे करें?
- 21. मॉडल व्यू कंट्रोलर पैराडिग्मा
- 22. क्या मुझे सिल्वरलाइट परियोजनाओं में मॉडल-व्यू-व्यू मॉडेल (एमवीवीएम) पैटर्न का उपयोग करना चाहिए?
- 23. एमवीपी (मॉडल व्यू प्रेजेंटर) या एमवीसी (मॉडल व्यू कंट्रोलर)
- 24. एएसपीनेट एमवीसी व्यू का मॉडल बनाम ViewData.Model?
- 25. व्यू मॉडल में चयनित दृश्य में ट्री व्यू सिंक
- 26. हैंडलबार टेम्पलेट में बैकबोन मॉडल गुणों का उपयोग कैसे करें
- 27. रेल: एक विशिष्ट एचटीएमएल व्यू का उपयोग कर मॉडल का संग्रह प्रस्तुत करें
- 28. एमवीसी देखें मॉडल में डोमेन मॉडल का उपयोग
- 29. डब्ल्यूपीएफ ट्री व्यू, इंडेशन को कैसे बदलें
- 30. डब्ल्यूपीएफ ग्रिड व्यू हेडर क्षैतिज
मैं अपने खुद के प्रश्न का उत्तर दिया के रूप में मैं एक समाधान मैं काम करता है लगता है कि है, लेकिन मैं आशा करती हूं कि कि कोई मुझे दे देंगे एक बेहतर समाधान जिसे मैं स्वीकार किए गए उत्तर के रूप में चिह्नित कर सकता हूं। – ForbesLindesay