public byte[] SaveMap(AxPageLayoutControl pageLayOut) { IGraphicsContainer graphicsContainer = pageLayOut.GraphicsContainer; graphicsContainer.Reset(); IElement pElement = graphicsContainer.Next(); while (pElement != null) { if (pElement is IMapFrame) { IMapDocument mapDocument = new MapDocumentClass(); if (File.Exists(@"D:\test.mxd")) File.Delete (@"D:\test.mxd"); mapDocument.New(@"D:\test.mxd"); mapDocument.ReplaceContents((IMxdContents)pageLayoutTo2_3.ActiveView.FocusMap); mapDocument.Save(true, true); System.IO.FileStream objFileStream = new System.IO.FileStream(@"D:\test.mxd", FileMode.Open); byte[] result = new byte[objFileStream.Length]; objFileStream.Read(result, 0, (int)objFileStream.Length); return result; } pElement = graphicsContainer.Next(); } } public void LoadMap(AxPageLayoutControl pageLayOut, byte[] result) { IGraphicsContainer graphicsContainer = pageLayoutTo2_3.GraphicsContainer; graphicsContainer.Reset(); IElement pElement = graphicsContainer.Next(); while (pElement != null) { if (pElement is IMapFrame) { System.IO.FileStream oFileStream = new System.IO.FileStream(@"D:\test.mxd", FileMode.Append); oFileStream.Write(result, 0, result.Length); IMapControl2 map = new MapControlClass(); map.LoadMxFile(@"D:\test.mxd", Type.Missing, Type.Missing ); IMapFrame frame = new MapFrameClass(); frame.Map = map.Map; pElement = (IElement)frame; pageLayOut.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null); return; } pElement = graphicsContainer.Next(); } }
Solved! Go to Solution.
pageLayout.Actiview.FocusMap = map.Map
pageLayOut.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
oFileStream.Write(result, 0, result.Length);
pageLayout.Actiview.FocusMap = map.Map
pageLayOut.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);