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(); };
        }
Beispiel #2
0
        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;
        }