Exemple #1
0
        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;
                        }
                    }
                }
            }
        }
Exemple #2
0
        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;
                  }
               }
            }
             }
        }