我在 C# 应用程序中使用 Mapsui 作为映射控件。默认情况下,通过使用鼠标左键拖动来启动平移。我想将其更改为鼠标中键。
有谁知道如何做到这一点?
Mapsui 有一个名为 PanMode 的对象,您可以按如下方式创建一个实例,但是,我相信它只是一个用于在平移时居中地图的枚举:
Mapsui.UI.PanMode panMode = new PanMode();
编辑:
根据“pauldendulk”的回答(感谢您的支持),我认为我需要做这样的事情:
首先,抓住中间按钮单击并将其传递给 mapsui 左按钮方法。不幸的是 MapControlMouseLeftButtonDown() 是一个私有方法,所以这不起作用。
MyMapControl.MouseDown += MapControlOnMouseButtonDown;
private void MapControlOnMouseButtonDown(object sender, MouseButtonEventArgs e)
{
if(e.ChangedButton == MouseButton.Middle)
{
Mapsui.UI.Wpf.MapControl.MapControlMouseLeftButtonDown(sender, e);
}
}
其次,我需要阻止原始的左键单击触发。
MyMapControl.MouseLeftButtonDown += null;
同样,这不是正确的语法,因为它会引发异常(不能为空)。
有谁知道如何解决这些问题?