private void App_Suspending(object sender, SuspendingEventArgs e) { // Store Todo list to storage // Maybe it is better not do waste time here... //TodoViewModel.getInstance().SaveToStorage(); // Store view states ApplicationData.Current.LocalSettings.Values["MainAdaptiveState"] = MainAdaptiveViewModel.getInstance().ToString(); }
private void SaveButton_Click(object sender, RoutedEventArgs e) { TodoViewModel.getInstance().UpdateTodo(MainAdaptiveViewModel.getInstance().SelectedItemIndex, (EditFrame.Content as EditPage).DisplayTodo); if (MainAdaptiveViewModel.getInstance().ScreenWidth == ScreenWidthEnum.Narrow) { GoBack(); } }
//private int selectedItemIndex = -1; //private Todo selectedItem = null; public MainPage() { InitializeComponent(); mainAdaptiveVM = new MainAdaptiveViewModel(); Application.Current.Resuming += App_Resuming; Application.Current.Suspending += App_Suspending; ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(360, 120)); SystemNavigationManager.GetForCurrentView().BackRequested += App_BackRequested; // Bind view adapter mainAdaptiveVM.PropertyChanged += MainAdaptiveVM_PropertyChanged; }
protected override void OnNavigatedTo(NavigationEventArgs ne) { ListFrame.Navigate(typeof(ListPage)); (ListFrame.Content as ListPage).Loaded += (object sender, RoutedEventArgs re) => { JsonObject parameters = JsonObject.Parse(ne.Parameter as string); if (parameters != null) { if (parameters.ContainsKey("MainAdaptiveState")) { MainAdaptiveViewModel.getInstance().FromString(parameters["MainAdaptiveState"].GetString()); } } EditFrame.Navigate(typeof(EditPage), ne.Parameter); }; }
private void MainPage_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { DataRequest request = args.Request; Todo shared = TodoViewModel.getInstance().GetTodoOfIndex(MainAdaptiveViewModel.getInstance().SelectedItemIndex); if (shared == null) { request.FailWithDisplayText("You have not selected any todo item"); } else { request.Data.Properties.Title = "Todo: " + shared.Title; request.Data.SetText(shared.Detail); } }
private void MainAdaptiveVM_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { // Bind back button SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = MainAdaptiveViewModel.getInstance().ShowBackButton ? AppViewBackButtonVisibility.Visible : AppViewBackButtonVisibility.Collapsed; // Pass data to EditPage if (e.PropertyName == "SelectedItemIndex") { EditPage editPage = EditFrame.Content as EditPage; if (editPage != null) { if (MainAdaptiveViewModel.getInstance().SelectedItemIndex != -1) { editPage.ChangeEditingTodoData(TodoViewModel.getInstance().Todos[(sender as MainAdaptiveViewModel).SelectedItemIndex]); } else { editPage.ChangeEditingTodoData(null); } } } }
private void App_Resuming(object sender, object e) { // Restore view states MainAdaptiveViewModel.getInstance().FromString(ApplicationData.Current.LocalSettings.Values["MainAdaptiveState"] as string); }
private void ResetButton_Click(object sender, RoutedEventArgs e) { (EditFrame.Content as EditPage).ChangeEditingTodoData(TodoViewModel.getInstance().Todos[MainAdaptiveViewModel.getInstance().SelectedItemIndex]); }
private void AddButton_Click(object sender, RoutedEventArgs e) { TodoViewModel.getInstance().AddTodo(new Todo(true)); MainAdaptiveViewModel.getInstance().SelectedItemIndex = TodoViewModel.getInstance().Todos.Count - 1; }
private void MainPage_SizeChanged(object sender, SizeChangedEventArgs e) { MainAdaptiveViewModel.getInstance().ScreenWidth = e.NewSize.Width > 720 ? ScreenWidthEnum.Wide : ScreenWidthEnum.Narrow; }
private void GoBack() { MainAdaptiveViewModel.getInstance().SelectedItemIndex = -1; }
public ListPage() { InitializeComponent(); todoVM = TodoViewModel.getInstance(); MainAdaptiveVM = MainAdaptiveViewModel.getInstance(); }