2010-04-20 18 views
11

Bir dizi denetim için yerel fare tekerleği desteğine sahip olmanın avantajlarından yararlanan bir Silverlight 4 uygulamasına sahibim. Uygulamayı barındıran sayfa, normalde Silverlight denetiminin üzerine bindirilecek HTML tarafından çalıştırılan bir açılır menüye sahiptir.Silverlight 4, Fare Tekerleği Olayları ve Penceresiz Modu

IE'de, yer paylaşımlı menünün düzgün çalışabilmesi için penceresiz modunu etkinleştirmem gerekiyor (Firefox 3.6, normal şekilde çalışıyor). Bununla birlikte, HTML DOM köprüsüne ek kodlama yapılmadan penceresiz mod prevents Firefox from supporting mouse wheel events'un etkinleştirilmesi.

Hangi tarayıcıların pencere gerektirmeden çalışacağını ve bu sayede çalışacak herhangi bir yol var mı? İdeal olarak, HttpBrowserCapabilities bilgilerini, 'desteklenen' tarayıcıların bir listesini kodlamak yerine, özelliği true değerine ayarlayıp ayarlamadığına karar vermek istiyorum.

+0

Bunu hiç anladın mı? Bende aynı sorun var. –

+0

Maalesef, hayır. Sonunda, tarayıcıya göre yapmak için arka uçta bir mantık uyguladım. Bunu yapmanın "doğru" bir yolu olup olmadığını öğrenmek isterim. –

cevap

2

Silverlight 4 fare tekerleği olayları için desteği vardır, ancak farkında olmak kurallar vardır:

  1. IE
  2. Fare tekerleği olayları tarayıcısı üzerinden OS X üzerinde çalışmak asla asla bir konudur, ve sadece tarayıcıda HTML DOM ile.
  3. Diğer tüm tarayıcılarda Windows olmadan hareketsizdir, çünkü olayları işlemek için NPAPI güvenirler.
  4. Belirttiğiniz DOM'dan fare tekerleğine ulaşmak için tarayıcı birlikte çalışabilirlik özelliklerine sahip Mousewheel'ı alabilirsiniz. http://msdn.microsoft.com/en-us/library/dd759034(v=vs.95).aspx görünce tam ekran

tam ayrıntısı için

  • HTML DOM işe asla.

  • 0

    Belki de, hem DOM hem de MouseWheelAPI olaylarını dahili olarak göz önünde bulunduran ve bunları ortak bir şekilde sağlayan kendi MouseWehhenManager singleton sınıfını kullanabilirdiniz, bu nedenle kodunuz her iki şekilde de bu tek arabirimi kullanabilir?