using System; using System.Device.Location; using System.Security; using System.Windows; using System.Windows.Data; using GalaSoft.MvvmLight.Messaging; using GalaSoft.MvvmLight.Threading; using Microsoft.Phone.Controls; using Microsoft.Phone.Controls.Maps; using Microsoft.Silverlight.Testing; using MyFriendsAround.WP7.ViewModel; using MyFriendsAround.WP7.Views; namespace MyFriendsAround.WP7 { public partial class MainPage : PhoneApplicationPage { //private Map MyMap; // Constructor public MainPage() { InitializeComponent(); Messenger.Default.Register( this, msg => { DispatcherHelper.CheckBeginInvokeOnUI(() => { var result = MessageBox.Show( msg.Content, msg.Caption, msg.Button); // Send callback msg.ProcessCallback(result); }); }); this.Loaded += new RoutedEventHandler(MainPage_Loaded); } void MainPage_Loaded(object sender, RoutedEventArgs e) { #if TESTING DoTests(); #endif } private void DoTests() { var testPage = UnitTestSystem.CreateTestPage(); IMobileTestPage imobileTPage = testPage as IMobileTestPage; BackKeyPress += (s, arg) => { bool navigateBackSuccessfull = imobileTPage.NavigateBack(); arg.Cancel = navigateBackSuccessfull; }; (Application.Current.RootVisual as PhoneApplicationFrame).Content = testPage; map.SetView(LocationRect.CreateLocationRect()); } private void map_ViewChangeEnd(object sender, MapEventArgs e) { //to workaround the issue // https://connect.microsoft.com/VisualStudio/feedback/details/643990/wp7-bing-maps-control-throwing-unspecified-error-with-mapitemscontrol // (DataContext as MainViewModel).MapViewChangedCommand.Execute(map.BoundingRectangle); } } }