سؤال

لديّ كائنات مخصصة تنفذ InotifyProperyChanged والآن أتساءل عما إذا كان من الممكن تنفيذ حذف ناعم والذي ستلعب بشكل جيد مع الربط؟ سيكون لكل كائن خاصية isdeleted وإذا تم تعيين هذه الخاصية على صواب مما لا يتم عرضه في واجهة المستخدم الرسومية. كنت أفكر في صنع امتداد مخصص للعلامة المخصصة من شأنه تزيين فئة الربط ولكنه لم ينجح كما هو متوقع. الآن أنا أفكر في استخدام التعددية المتعددة مع isdelets كأحد الخصائص المرتبطة بحيث يكون المحول قادرًا على معرفة الكائن الذي يتم حذفه. ولكن هذا الحل يبدو معقدًا ومملًا للغاية.

هل لدى أي شخص فكرة عن كيفية تنفيذ الحذف الناعم للربط؟

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

المحلول

يمكنك ربط رؤية الممتلكات من uielement إلى خاصية كائنك ، لإخفاء أو إظهار العناصر.

على سبيل المثال ، أستخدم textblock. في XAML يمكنك الكتابة

<TextBlock Text="IsDeleted" Visibility={Binding IsDeleted}/>

ملاحظة: في المثال أعلاه ، يكون TextBlock مرئيًا ، عندما يكون Isdelet صحيحًا. أود تحديد خاصية إيجابية ، مثل وجود الكائن. لذلك ليس عليك أن تنفي المنطق أو بناء المحول الخاص بك.

يحتوي WPF على محول بناء يحول منطقية إلى قيمة التعداد للرؤية.

نصائح أخرى

هناك طريقة أخرى لتنفيذ الحذف الناعم وهي من خلال الحفاظ على مجموعة تحتوي فقط على تلك العناصر التي لم يتم حذفها في نموذج العرض الخاص بك بالإضافة إلى مجموعة جميع العناصر. هذا له (في رأيي) ميزة كبيرة للغاية بأنه ليس شيئًا يحتاج وجهة نظرك إلى التفكير فيه على الإطلاق.

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