سؤال

لديّ تطبيق Silverlight 4 يستفيد بشكل كبير من دعم عجلة الماوس الأصلية لعدد من عناصر التحكم. تحتوي الصفحة التي تستضيف التطبيق على قائمة منسدلة HTML التي تعتمد عادةً على تراجع التحكم في Silverlight.

في IE ، لا بد لي من تمكين وضع بدون نوافذ للسماح لقائمة التراكب بالعمل بشكل صحيح (يعمل Firefox 3.6 بشكل طبيعي بدونها). ومع ذلك ، تمكين الوضع بدون نوافذ يمنع Firefox من دعم أحداث عجلة الماوس بدون ترميز إضافي حول جسر HTML DOM.

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

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

المحلول

يتمتع Silverlight 4 بدعم لأحداث عجلة الماوس ، ولكن هناك عدد من القواعد التي يجب أن تكون على دراية بها:

  1. أي ليست مشكلة أبدا
  2. لا تعمل أحداث Mousewheel أبدًا على OS X خارج المتصفح ، وفقط عبر HTML DOM في المتصفح.
  3. Windowsless في جميع المتصفحات الأخرى أمر لا يتخطى لأنهم يعتمدون عليه npapi للتعامل مع الأحداث.
  4. يمكنك الحصول على mousewheel مع ميزات قابلية التشغيل البيني للمستعرض للوصول إلى Mousewheel من DOM كما لاحظت.
  5. لن يعمل HTML DOM أبدًا عند ملء الشاشة

للحصول على انهيار كامل انظر http://msdn.microsoft.com/en-us/library/dd759034(v=vs.95).aspx.

نصائح أخرى

ربما يمكنك استخدام فئة Mousewehnmanager Singleton التي تعتبر داخليًا أحداث DOM و Mousewheelapi وتوفرها بطريقة شائعة ، حتى يتمكن الكود من استخدام هذه الواجهة الفردية التي تعمل في كلتا الحالتين؟

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