private void DocumentPane_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { if (e.RemovedItems.Count > 0 && e.AddedItems.Count > 0) { var befCont = (e.RemovedItems[0] as AvalonDock.DocumentContent).Content; if (befCont != null) { var before = befCont as GMap.NET.WindowsPresentation.GMapControl; if (before != null) { var aCont = (e.AddedItems[0] as AvalonDock.DocumentContent).Content; if (aCont != null) { var amap = aCont as GMap.NET.WindowsPresentation.GMapControl; if (amap != null) { //this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() //{ amap.Position = before.Position; if (amap.MapProvider.Projection.ToString() == before.MapProvider.Projection.ToString()) { amap.Zoom = before.Zoom; } else { amap.SetZoomToFitRect(before.ViewArea); } //})); } lastMap = amap; } } } } }
private void DocumentPane_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { if(e.RemovedItems.Count > 0 && e.AddedItems.Count > 0) { var befCont = (e.RemovedItems[0] as AvalonDock.DocumentContent).Content; if(befCont != null) { var before = befCont as GMap.NET.WindowsPresentation.GMapControl; if(before != null) { var aCont = (e.AddedItems[0] as AvalonDock.DocumentContent).Content; if(aCont != null) { var amap = aCont as GMap.NET.WindowsPresentation.GMapControl; if(amap != null) { //this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() //{ amap.Position = before.Position; if(amap.MapProvider.Projection.ToString() == before.MapProvider.Projection.ToString()) { amap.Zoom = before.Zoom; } else { amap.SetZoomToFitRect(before.ViewArea); } //})); } lastMap = amap; } } } } }