Files
2011-04-04 03:04:43 +03:00

77 lines
2.4 KiB
C#

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<DialogMessage>(
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);
}
}
}