AE 组件二次开发 :关于地图控件上ICommand

private void 全图ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ICommand pCommand = new ControlsMapFullExtentCommandClass();
            pCommand.OnCreate(this.axMapControl1.Object);
            pCommand.OnClick();
        }
加粗的字体的问题为//无法将类型“ESRI.ArcGIS.Controls.ControlsMapFullExtentCommandClass”隐式转换为“System.Windows.Input.ICommand”存在一个显示转换(是否缺少强制转换?)

希望各位来看看 帮忙解决一下这个问题 谢谢您的解答


答:

ICommand 你看下接口属于哪个命名空间下,估计是Windows的吧!后面创建的是ArcGis类,二者不同所以会出错,你在命名空间添加ESRI.ArcGIS.SystemUI,进行对ICommand进行指定,问题应该就解决了。现在学GIS搞二次开发,特别是AE这块,远不如做WebGIS挣钱,做AE其实对C#掌握的程度说实话真心不高,主要是对ArcEngine接口的掌握,这些只要花时间久好了。真想在GIS下发展,还是要兼顾着学习WebGIS,当然每个公司做WebGIS 的方向不同,开发语言选择也不同,C#简单点,也有公司用Java。

        public static void MapGlobeView(AxMapControl axMap)
        {
            ESRI.ArcGIS.SystemUI.ICommand cmd = new ControlsMapFullExtentCommandClass();
            cmd.OnCreate(axMap.Object);
            cmd.OnClick();
        }


原文地址:https://www.cnblogs.com/dengshiwei/p/4258655.html