首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改Mapsui控件中的平移按钮

更改Mapsui控件中的平移按钮
EN

Stack Overflow用户
提问于 2018-09-10 23:15:23
回答 1查看 334关注 0票数 0

我使用Mapsui作为C#应用程序中的地图控件。默认情况下,通过使用鼠标左键拖动来启动平移。我想将此更改为鼠标中键。

有人知道怎么做吗?

Mapsui有一个名为PanMode的对象,您可以创建一个实例,如下所示,但我相信它只是一个在平移时将地图居中的枚举:

代码语言:javascript
复制
Mapsui.UI.PanMode panMode = new PanMode();

编辑:

基于pauldendulk的回答(感谢您的支持),我认为我需要这样做:

首先,捕捉鼠标中键并将其传递给mapsui的left按钮方法。不幸的是,MapControlMouseLeftButtonDown()是一个私有方法,所以它不能工作。

代码语言:javascript
复制
MyMapControl.MouseDown += MapControlOnMouseButtonDown;

private void MapControlOnMouseButtonDown(object sender, MouseButtonEventArgs e)
    {
        if(e.ChangedButton == MouseButton.Middle)
        {
            Mapsui.UI.Wpf.MapControl.MapControlMouseLeftButtonDown(sender, e);
        }

    }

其次,我需要停止原来的左键点击。

代码语言:javascript
复制
MyMapControl.MouseLeftButtonDown += null;

同样,这不是正确的语法,因为它会抛出异常(不能为空)。

有人知道如何解决这些问题吗?

EN

回答 1

Stack Overflow用户

发布于 2018-09-11 23:34:30

如果您为WPF的鼠标按下事件分配一个事件处理程序,在其中设置视区,也许是可能的。

PanMode与此无关。它的目的是限制用户可以平移/缩放的区域。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52260870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档