CampusMapPage.xaml.cs CampusAppWP8::Pages::Campusmap::CampusMapPage CampusAppWP8::Pages::Campusmap //----------------------------------------------------------------------------- //<copyrightfile="CampusMapPage.xaml.cs"company="BTU/IIT"> //Companycopyrighttag. //</copyright> //<author>fiedlchr</author> //<sience>13.08.2013</sience> //----------------------------------------------------------------------------- namespaceCampusAppWP8.Pages.Campusmap { usingSystem; usingSystem.Globalization; usingSystem.Windows; usingSystem.Windows.Navigation; usingCampusAppWP8.Model.Campusmap; usingCampusAppWP8.Resources; usingCampusAppWP8.Utility; usingMicrosoft.Phone.Controls; publicpartialclassCampusMapPage:PhoneApplicationPage { privateMapModelmap; publicCampusMapPage() { this.InitializeComponent(); this.map=newCBMainMapModel(); this.MapCanvas.DataContext=this.map; } protectedoverridevoidOnNavigatedTo(NavigationEventArgse) { base.OnNavigatedTo(e); this.ShowCurrentPositionDispatcher(); } privatevoidButton_Click(objectsender,RoutedEventArgse) { this.AddPin(double.Parse(XPoint.Text),double.Parse(YPoint.Text)); } privatevoidAddPin(doublex,doubley) { MapCanvas.Children.Clear(); PointscrollPoint=this.map.GetScrollPoint(this.map.ConverToPixelPoint(this.map.ConverToMapPoint(x,y))); MapCanvas.Children.Add(this.map.AddPinFromRefPoint(this.map.ConverToPixelPoint(this.map.ConverToMapPoint(x,y)))); MapScroller.UpdateLayout(); MapScroller.ScrollToVerticalOffset(scrollPoint.Y); MapScroller.ScrollToHorizontalOffset(scrollPoint.X); XPoint.Text=x.ToString(); YPoint.Text=y.ToString(); } privatevoidUpdateButtonAppBar_Click(objectsender,System.EventArgse) { this.ShowCurrentPositionDispatcher(); } privatevoidShowCurrentPositionDispatcher() { ProgressBar.Visibility=Visibility.Visible; if(this.Dispatcher!=null) { this.Dispatcher.BeginInvoke(newAction(()=>this.ShowCurrentPosition())); } else { this.ShowCurrentPosition(); } } privatevoidShowCurrentPosition() { Utilities.DetermineAndStoreCurrentPositionForce(); stringlat=App.LoadFromAppState<string>(Constants.GeoWatch_CurrentPosition_Lat); stringlog=App.LoadFromAppState<string>(Constants.GeoWatch_CurrentPosition_Long); doublex; doubley; if(!double.TryParse(log,NumberStyles.Any,CultureInfo.InvariantCulture,outx)||!double.TryParse(lat,NumberStyles.Any,CultureInfo.InvariantCulture,outy)) { return; } this.AddPin(x,y); ProgressBar.Visibility=Visibility.Collapsed; } } }