إعادة توجيه عمليات الاسترجاعات لفصل الوظيفة الشريطية عن الوظيفة الإضافية المشتركة

StackOverflow https://stackoverflow.com/questions/4204293

سؤال

أحاول فصل وظائف الإضافة المشتركة والشريط المقابل (مدمج من خلال مصمم الشريط أو XML في VS10). يتم بناء سياق الحل مع العديد من المشاريع التي تمثل فيها الوظيفة الإضافية نفسها مضيفًا مع واجهة لتجميع آخر يتم تحميله في وقت التشغيل. في هذا التجميع ، أريد الوصول إلى أساليب رد الاتصال للشريط المنفذ في الإضافة المشتركة (Connect.CS). تطبيق MSProject2010-حاولت حقن الشريط ملفوفًا في هذا التجمع لمنح الوصول إلى مثيل المشروع.

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

الآن ، كيف يمكن توجيه عمليات الاسترجاعات من تطبيق Msproject ، من خلال الإضافة المشتركة إلى التجميع؟

سؤال آخر: كيف يمكن الوصول إلى شريط مخصص من خلال مجموعة خارجي؟ (نفس البيئة)

مع أطيب التحيات

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

المحلول

لقد وجدت حلاً بنفسي.

المشكلة هي سياق الأدمين المشترك. إنه أمر معقد للتلاعب ببيئة الشريط مقارنة بالطريقة التي يمكن تحقيقها عبر VSTO. حولت الأدمدين المشترك إلى msproject2010-addin ثم أقوم بتمرير الشريط نفسه كما في الواجهة. هذا ممكن عن طريق صنع شريط مع مصمم الشريط الذي يسجل الشريط في فئة Globals ، التي يتم تسليمها بواسطة الإضافة. (Globals.Ribbons.Ribbonname.Ribbon). على الجانب الآخر ، ألقيت هذا الكائن في ضابطبون وقم بتعيينه إلى ضابط فارغ. هنا يمكنني معالجة وتغيير خصائص الشريط وإنشاء eventHandlers. لا يمكن إضافة علامات تبويب أو أزرار أو عناصر تحكم أخرى على الشريط أثناء وقت التشغيل! على الأقل لم أتمكن من إيجاد طريقة للقيام بذلك.

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