protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (NavigationContext.QueryString.ContainsKey("id")) { string idQueryString = NavigationContext.QueryString["id"]; int id = 0; if (!Int32.TryParse(idQueryString, out id)) { throw new ArgumentException("id is not valid value!"); } ToDoItemDetailsViewModel viewModel = new ToDoItemDetailsViewModel(new ToDoItemRepository()); this.DataContext = viewModel; string currentUri = e.Uri.OriginalString; viewModel.OnToDoItemChanged += new GeomindMe.ViewModels.ToDoItemDetailsViewModel.LocationEventHandler( (geoLocation) => { Dispatcher.BeginInvoke(new Action(() => { NavigateMap(new GeoCoordinate(geoLocation.Latitude, geoLocation.Longitude), true); })); }); viewModel.Load(id, currentUri); return; } else { throw new ArgumentNullException("id must not be null!"); } }
private static ToDoItemDetailsViewModel GetNewToDoItemDetailsViewModel() { ToDoItemDetailsViewModel toDoItemDetailsViewModel = null; if (DesignerProperties.IsInDesignTool) { toDoItemDetailsViewModel = new ToDoItemDetailsViewModel(new DesignToDoItemRepository(), 5); } else { toDoItemDetailsViewModel = new ToDoItemDetailsViewModel(new ToDoItemRepository()); } return toDoItemDetailsViewModel; }
public static void CreateToDoItemDetailsViewModel() { ToDoItemDetailsViewModel toDoItemDetailsViewModel = GetNewToDoItemDetailsViewModel(); _toDoItemDetailsViewModel = toDoItemDetailsViewModel; }
public void LoadToDoItemDetailsViewModelFromApplicationState() { if (!PhoneApplicationService.Current.State.ContainsKey(ToDoItemDetailsViewModelPropertyName)) { return; } var viewModel = PhoneApplicationService.Current.State[ToDoItemDetailsViewModelPropertyName] as ToDoItemDetailsViewModel; if (viewModel == null) { return; } ViewModelLocator._toDoItemDetailsViewModel = viewModel; }
public static void ClearToDoItemDetailsViewModel() { _toDoItemDetailsViewModel.Cleanup(); _toDoItemDetailsViewModel = null; }