public CourseSearchPage() { InitializeComponent(); _viewModel = new CourseListViewModel(new PhoneNavigationController()); DataContext = _viewModel; // Focus search box automatically this.Loaded += (o, e) => { if (_viewModel.IsEmpty) SearchBox.Focus(); }; // Unfocus when pressing enter SearchBox.KeyUp += (o, e) => { if (e.Key == Key.Enter) this.Focus(); }; }
protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (_viewModel == null) { _viewModel = new CourseListViewModel(new PhoneNavigationController()); DataContext = _viewModel; var content = ""; if (NavigationContext.QueryString.ContainsKey("content")) { content = NavigationContext.QueryString["content"]; } switch (content) { case "department": string id = NavigationContext.QueryString["id"]; await _viewModel.LoadDepartmentAsync(id); break; default: await _viewModel.LoadMyCoursesAsync(App.PinnedCourses); break; } } var sortByCodeButton = (ApplicationBarIconButton)this.ApplicationBar.Buttons[0]; var sortByNameButton = (ApplicationBarIconButton)ApplicationBar.Buttons[1]; _unbindActions.Add(AppBar.BindRadioButton(sortByCodeButton, _viewModel, "Filter", CourseListViewModel.CourseFilter.Code)); _unbindActions.Add(AppBar.BindRadioButton(sortByNameButton, _viewModel, "Filter", CourseListViewModel.CourseFilter.Name)); sortByCodeButton.Text = AppResources.SortByCodeTitle; sortByNameButton.Text = AppResources.SortByNameTitle; }