代码之家  ›  专栏  ›  技术社区  ›  Gareth Saul

Silverlight 4、鼠标滚轮事件和无窗口模式

  •  11
  • Gareth Saul  · 技术社区  · 15 年前

    我有一个Silverlight4应用程序,它从对许多控件的本地鼠标轮支持中受益匪浅。承载应用程序的页面有一个HTML驱动的下拉菜单,通常会覆盖Silverlight控件。

    在IE中,我必须启用无窗口模式以允许覆盖菜单正常工作(没有它,火狐3.6正常工作)。但是,启用无窗口模式 prevents Firefox from supporting mouse wheel events 无需在HTML DOM桥周围进行额外编码。

    我有没有办法知道哪些浏览器需要无窗口,哪些浏览器不需要无窗口?理想情况下,我希望使用httpbrowsercapabilities信息来决定是否将属性设置为true,而不是硬编码“支持的”浏览器列表。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Keith Adler    14 年前

    Silverlight 4支持鼠标滚轮事件,但有许多规则需要注意:

    1. IE从来都不是问题
    2. mousewheel事件不会在浏览器外的OS X上工作,只能通过浏览器中的HTML DOM工作。
    3. 在所有其他浏览器中,Windowsless都是不允许使用的,因为它们依赖于 NPAPI 处理事件。
    4. 您可以使用浏览器互操作性功能获取mousewheel,以便从dom中获取mousewheel。
    5. 当全屏显示时,HTML DOM将无法工作

    有关完整的明细,请参见 http://msdn.microsoft.com/en-us/library/dd759034(v=vs.95).aspx .

        2
  •  0
  •   eFloh    14 年前

    也许您可以使用自己的mousewehhenmanager singleton类,该类在内部同时考虑dom和mouseweelapi事件,并以通用的方式提供这些事件,这样您的代码就可以使用这两种方式都工作的单个接口了?