public NavigateFromViewModel_VM()
 {
     //Initialize controller
     Controller = new MapViewController();
     Controller.PropertyChanged += Controller_PropertyChanged;
     //Create a list of bookmarks to navigate to
     bookmarks = new ObservableCollection <Tuple <string, Viewpoint> >();
     bookmarks.Add(new Tuple <string, Viewpoint>("World", new Viewpoint(new Envelope(-180, -85, 180, 85, SpatialReferences.Wgs84))));
     bookmarks.Add(new Tuple <string, Viewpoint>("ESRI", new Viewpoint(new MapPoint(-117.19569, 34.056849, SpatialReferences.Wgs84), 5000)));
     bookmarks.Add(new Tuple <string, Viewpoint>("California", new Viewpoint(new Envelope(-124.63, 32.65, -113.909, 41.99, SpatialReferences.Wgs84))));
     //Command for adding more bookmarks to the list, by grabbing the Controller's Extent property
     AddBookmark = new MapViewController.DelegateCommand(
         (parameter) => bookmarks.Add(new Tuple <string, Viewpoint>("Bookmark #" + (bookmarks.Count + 1).ToString(),
                                                                    new Viewpoint((Geometry)parameter))),
         (parameter) => { return(parameter is Geometry); });
 }
 public static void SetController(DependencyObject obj, MapViewController value)
 {
     obj.SetValue(ControllerProperty, value);
 }