سؤال

وأستخدمه C # و أدوات DSL لVS2005.

ولست بحاجة لخلق المعاملات إلى تغيير بعض البيانات ولكن أريد لها أن تكون مخفية عن المستخدم، وهذا يعني، أن لا تظهر في قائمة تراجع في VS2005.

وحاولت عن طريق تعطيل UndoManager

store.UndoManager.UndoState = UndoState.Disabled;

ولكن عن طريق تعطيل ذلك يتم مسح جميع الإجراءات السابقة الموجودة في قائمة التراجع.

والمعاملات لديها خاصية تسمى "isHidden" لكنه للقراءة فقط لا أعرف كيف يمكن تعيين إلى المخفية. كما أنني حاولت لإنشاء UndoManager جديدة لكنه أيضا خاصية للقراءة فقط ...

وكيف يمكنني إنشاء معاملة لا يظهر في قائمة التراجع؟

وسأكون سعيدا لكتابة بعض مزيد من التفاصيل من أجل توضيح أي شكوك، شكرا جزيلا لك، لويس فيليبي

[وأضاف]

وأرسم خلفية كل شكل على أساس قيمة العقار. منها مثلا، الأخضر إذا كان هذا صحيحا، أحمر إذا كاذبة. ولست بحاجة لفتح الصفقة لرسم خلفية الشكل ولكن بالنسبة لي فإنه يتصرف كخاصية تحسب (للقراءة فقط).

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

المحلول

وstore.UndoManager.UndoState = UndoState.Disabled.

وهو حق تقريبا ما تريد،

وstore.UndoManager.UndoState = UndoState.DisabledNoFlush;

وهذا لن مسح بقية القائمة التراجع :) cyas في الغداء لويس.

نصائح أخرى

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

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