سؤال

أحاول عرض كتلة نصية بسيطة يدل على قيمة التسول من المعينات المتوراج.

هذا هو: system.io.isolatedstorage.isolatedstorageffile.getuserstoreforapplication (). assessfreeSpace

يحتاج إلى تحديث ديناميكيا كتغييرات التخزين المتاحة.

أعلم أن هذا ربما أساسي ولكن لا يمكنني معرفة كيفية ربط هذا المتغير. أي تلميحات؟

هل كانت مفيدة؟

المحلول

عند ربط خاصية على كائن CLR قديم عادي، مثل OveratedStorageFile.availableFrespace، إلى خاصية UI مثل TextBlock.Text، تحتاج فعليا إلى القيام بعمل إضافي قليلا للتأكد من أن التغييرات في خاصية CLR يتم نشرها إلى UI. في SL، هذا يعني أن كائن CLR (oversatedstoragefile في هذه الحالة) يحتاج إلى تطبيق inotifypropertychanged. التنفيذ بسيط للغاية، ما عليك سوى إضافة حدث إلى جسمك يسمى PropertyChanged؛ ثم أطلق النار على هذا الحدث في كل مرة شيء تغييرات مثيرة للاهتمام التي ستكون متاحة في حالتك. نظرا لأن InventatedStorageFile لا ينفذ InotifyPropertychanged، فلن تحصل على تحديثات عند تغييرات الاستقبال. ستحتاج إلى إنشاء صفك الخاص الذي يقوم بتنفيذ هذه الواجهة، ثم استخدم بعض الآلية مثل الاقتراع المستند إلى Timer للتحقق من outdedstoragefile.availablefreespace على أساس منتظم وتعكس التغييرات في خاصيةك المتاحة الخاصة بك. شخصيا أود تشغيل جميع مكالمات الكتابة إلى التخزين المعزول من خلال فئة مخصصة من شأنها أن تحقق من المساحة الحرة بعد عملية الكتابة وإبلاغ تلك التغييرات على الفئة التي قمت بإنشائها مع خاصية متاحة مخصصة، مع التأكد من إطلاق الحدث الخاص بالخصوصية عند حدوث ذلك بدلا من ذلك من استخدام مؤقت للتحقق بشكل دوري.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top