98 lines
3.1 KiB
C#
98 lines
3.1 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for details.
|
|
|
|
using Windows.UI.Core;
|
|
using Windows.UI.Xaml.Controls;
|
|
using Windows.UI.Xaml.Navigation;
|
|
using MyDriving.DataObjects;
|
|
using MyDriving.ViewModel;
|
|
using Windows.UI.Xaml;
|
|
using Windows.UI.Xaml.Controls.Primitives;
|
|
using Windows.UI.Xaml.Input;
|
|
|
|
// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
|
|
|
|
namespace MyDriving.UWP.Views
|
|
{
|
|
/// <summary>
|
|
/// An empty page that can be used on its own or navigated to within a Frame.
|
|
/// </summary>
|
|
public sealed partial class PastTripsMenuView
|
|
{
|
|
public PastTripsMenuView()
|
|
{
|
|
InitializeComponent();
|
|
ViewModel = new PastTripsViewModel();
|
|
}
|
|
|
|
public PastTripsViewModel ViewModel { get; set; }
|
|
|
|
protected override async void OnNavigatedTo(NavigationEventArgs e)
|
|
{
|
|
base.OnNavigatedTo(e);
|
|
|
|
App.SetTitle("PAST TRIPS");
|
|
// Enable back button behavior
|
|
SystemNavigationManager systemNavigationManager = SystemNavigationManager.GetForCurrentView();
|
|
systemNavigationManager.BackRequested += SystemNavigationManager_BackRequested;
|
|
|
|
await ViewModel.ExecuteLoadPastTripsCommandAsync();
|
|
}
|
|
|
|
protected override void OnNavigatedFrom(NavigationEventArgs e)
|
|
{
|
|
base.OnNavigatedFrom(e);
|
|
SystemNavigationManager systemNavigationManager = SystemNavigationManager.GetForCurrentView();
|
|
systemNavigationManager.BackRequested -= SystemNavigationManager_BackRequested;
|
|
}
|
|
|
|
private void SystemNavigationManager_BackRequested(object sender, BackRequestedEventArgs e)
|
|
{
|
|
if (!e.Handled)
|
|
{
|
|
e.Handled = TryGoBack();
|
|
}
|
|
}
|
|
|
|
private bool TryGoBack()
|
|
{
|
|
bool navigated = false;
|
|
if (Frame.CanGoBack)
|
|
{
|
|
Frame.GoBack();
|
|
navigated = true;
|
|
}
|
|
return navigated;
|
|
}
|
|
|
|
private void listView_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
var trip = (Trip) e.AddedItems[0];
|
|
Frame.Navigate(typeof (PastTripMapView), trip); // PastTripMapView does not exist
|
|
}
|
|
|
|
private void ListViewItem_Holding(object sender, HoldingRoutedEventArgs e)
|
|
{
|
|
var senderElement = sender as FrameworkElement;
|
|
var flyoutBase = FlyoutBase.GetAttachedFlyout(senderElement);
|
|
|
|
flyoutBase.ShowAt(senderElement);
|
|
}
|
|
|
|
private async void DeleteButton_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
var trip = (e.OriginalSource as FrameworkElement).DataContext as Trip;
|
|
|
|
if (trip == null)
|
|
return;
|
|
|
|
await ViewModel.ExecuteDeleteTripCommand(trip);
|
|
|
|
}
|
|
|
|
private async void RefreshButton_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
await ViewModel.ExecuteLoadPastTripsCommandAsync();
|
|
}
|
|
}
|
|
} |