ArcEngine 修改MapFrame(Data'Frame)Data Frame的高度和宽度

首先,我解决的问题是当视图切换到LayoutView如何把Arcgis中DataFrame的宽度和高度修改了

ArcEngine 修改MapFrame(Data'Frame)Data Frame的高度和宽度

解决方法

            IMapDocument pMapDocument = new MapDocument();
            pMapDocument.Open("mxd路径");//打开你要修改的MXD文件
            IMap pMap = pMapDocument.get_Map(0);
            IGraphicsContainer gc = pMapDocument.PageLayout as IGraphicsContainer;
            IMapFrame mf = gc.FindFrame(pMap) as IMapFrame;//获取到MapFrame
            IElement pElement;
            IEnvelope pEnvelope = new Envelope() as IEnvelope;
            pEnvelope.PutCoords(0, 0, 21, 29.7);//这里宽度高度 自己决定
            pElement = mf as IElement;
            pElement.Geometry = pEnvelope;
            pMapDocument.ActiveView.Refresh();
            pMapDocument.Save();