private void OnRecentItemRemoveClick(object sender, RoutedEventArgs e) { ErrorReporting.Log("OnRecentItemRemoveClick"); var dataContext = (DeparturesAndArrivalsTable)((MenuItem)sender).DataContext; RecentItems.Remove(dataContext); RefreshRecentItemsList(); }
private void RefreshRecentItemsList() { var recentItemsToDisplay = RecentItems.GetItemsToDisplay(fromStation, excludeStation); hasRecentItemsToDisplay = recentItemsToDisplay.Count != 0; recentStations.ItemsSource = recentItemsToDisplay; ApplicationBar.Buttons.OfType <ApplicationBarIconButton>().Single(item => item.Text == "Clear recent").IsEnabled = hasRecentItemsToDisplay; }
private void OnClearRecentItemsClick(object sender, EventArgs e) { ErrorReporting.Log("OnClearRecentItemsClick"); RecentItems.Clear(); RefreshRecentItemsList(); }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (departuresAndArrivalsTable != null) { ErrorReporting.Log("departuresAndArrivalsTable is not null"); Load(); return; } var stationStr = NavigationContext.QueryString["station"]; var from = Stations.Get(stationStr); var to = NavigationContext.QueryString.ContainsKey("callingAt") ? Stations.Get(NavigationContext.QueryString["callingAt"]) : null; var removeBackEntry = NavigationContext.QueryString.ContainsKey("removeBackEntry"); departuresAndArrivalsTable = DeparturesAndArrivalsTable.Create(from, to); title.Text = departuresAndArrivalsTable.ToString(); if (title.Text.Length > 40) { title.Text = title.Text.Replace(" calling at ", "\ncalling at "); } if (e.NavigationMode == NavigationMode.New) { RecentItems.Add(departuresAndArrivalsTable); } if (removeBackEntry) { NavigationService.RemoveBackEntry(); } if (departuresAndArrivalsTable.HasDestinationFilter) { var filterOrClearFilterItem = ApplicationBar.Buttons.Cast <ApplicationBarIconButton>().Single(button => button.Text == "Filter"); filterOrClearFilterItem.Text = "Clear Filter"; filterOrClearFilterItem.IconUri = new Uri("/Assets/Icons/dark/appbar.filter.clear.png", UriKind.Relative); var filterByAnotherDestinationItem = new ApplicationBarMenuItem("Filter by another destination"); filterByAnotherDestinationItem.Click += OnFilterByAnotherDestinationClick; ApplicationBar.MenuItems.Insert(0, filterByAnotherDestinationItem); var reverseJourneyItem = new ApplicationBarIconButton(new Uri("/Assets/Icons/dark/appbar.arrow.left.right.png", UriKind.Relative)) { Text = "Reverse" }; reverseJourneyItem.Click += OnReverseJourneyClick; ApplicationBar.Buttons.Insert(2, reverseJourneyItem); } if (!NavigationService.CanGoBack) { var homeButton = new ApplicationBarIconButton { IconUri = new Uri("/Assets/Icons/dark/appbar.list.png", UriKind.Relative), Text = "All Stations", }; homeButton.Click += OnHomeClick; ApplicationBar.Buttons.Remove(GetPinToStartButton()); ApplicationBar.Buttons.Add(homeButton); } else { GetPinToStartButton().IsEnabled = !IsStationPinnedToStart(); } CreateDirectionsPivotItem(); if (!Stations.Country.SupportsArrivals) { // when supportsArrivals is false PivotSelectionChanged won't be triggered Load(); } }