none
silverlight中使用了DeepEarth控件开发地图,全屏后不能用滚轮缩放 RRS feed

  • 问题

  • 就是在silverlight使用了DeepEarth开发google地图方面的BS程序,

    执行Application.Current.Host.Content.IsFullScreen = true ;实现全屏以后

    google地图不能实现滚轮缩放,

    下面是DeepEarth中控制滚轮缩放的代码

    MapInstance.Events.MapMouseWheel += Events_MapMouseWheel;

            void Events_MapMouseWheel(Map map, MouseWheelEventArgs args)
            {
                if(!_IsMouseOver || args.Delta == 0)
                {
                    return;
                }

                int adjustment = args.Delta > 0 ? WheelZoomLevelAdjustment : -WheelZoomLevelAdjustment;
                map.ZoomOnPixelPoint(_MousePixelPosition, adjustment);
                args.Handled = true;
            }

    关键是在全屏模式下,根本不会执行

    不知道为什么


    2012年1月4日 7:24

答案

全部回复

  • 麻烦哪个解释一下

    2012年1月5日 9:33
  • 你好,

    请问你在非全屏模式下可以触发MouseWheel事件吗?


    Daoping Liu - MSFT
    2012年1月6日 3:46
    版主
  • 你好,

    在非全屏模式下可以触发MouseWheel事件。

    已经找到原因了,当基于 Silverlight 的应用程序处于全屏模式下时,会禁止大多数键盘事件,

    在全屏模式下,只允许通过以下键进行输入:向上键、向下键、向左键、向右键、空格键、Tab、向上翻页、向下翻页、Home、End、Enter

    这里有详细说明:http://msdn.microsoft.com/zh-cn/library/cc189023(v=vs.95).aspx

    2012年1月7日 3:32
  • 我有点不太确定是这个Silverlight的问题. 因为我看到一个Deepearth的示例代码就是在全屏模式下很方便的使用滚轮缩放;

    但这个示例是SL4.0版本的.  我把项目设置为SL5后, 还是可以正常使用的.

    我使用是也是DeepEarth1.1版本的, 转为VS2010后,需要修改几个关于鼠标事件的地方, 但是也是出现和楼主一样的问题. 现在还没有时间找问题.应该不是SL的问题.

    2012年3月17日 11:19