private void ClearThePage() { ListOfExercises.ClearValue(LongListMultiSelector.ItemsSourceProperty); ListOfExercises.ClearValue(LongListMultiSelector.ItemTemplateProperty); DataContext = null; _viewModel.ValidationError -= _viewModel_ValidationError; _viewModel = null; }
private void CheckIfEditOrAddActionRequiredAsync() { string action; if (NavigationContext.QueryString.TryGetValue("action", out action)) { if (action == "edit") { string trIdStr; int trId; if (NavigationContext.QueryString.TryGetValue("trId", out trIdStr) && Int32.TryParse(trIdStr, out trId)) { _trToEdit = App.FitAndGymViewModel.GetTrainingById(trId); if (_trToEdit != null) { _viewModel = new TrainingPageViewModel(_trToEdit); DataContext = _viewModel; } else throw new Exception(String.Format("Not found Training with id = {0} in database invoked from TrainingPage!", trId)); } else throw new Exception("Wrong NavigationContext.QueryString 'trId' in TrainingPage"); } else if (action == "add") { _viewModel = new TrainingPageViewModel(); DataContext = _viewModel; } else throw new Exception(String.Format("Wrong NavigationContext.QueryString (action) in TrainingPage. Action = '{0}'", action)); _viewModel.ValidationError += _viewModel_ValidationError; } }