Fix navigation issue

Applied some syntax style
This commit is contained in:
Geoffroy BONNEVILLE
2021-06-15 10:16:58 +02:00
parent 77b5927d46
commit 5387f1c5a1
4 changed files with 85 additions and 48 deletions

View File

@@ -85,7 +85,7 @@ namespace ModernKeePass.Views.BasePages
/// <summary>
/// Preserves state associated with this page in case the application is suspended or the
/// page is discarded from the navigation cache. Values must conform to the serialization
/// requirements of <see cref="Common.SuspensionManager.SessionState"/>.
/// requirements of <see cref="SuspensionManager.SessionState"/>.
/// </summary>
/// <param name="sender">The source of the event; typically <see cref="Common.NavigationHelper"/></param>
/// <param name="e">Event data that provides an empty dictionary to be populated with

View File

@@ -13,38 +13,50 @@ namespace ModernKeePass.Views
/// </summary>
public sealed partial class MainPage
{
public new MainVm Model => (MainVm)DataContext;
public new MainVm Model => (MainVm) DataContext;
public MainPage()
{
InitializeComponent();
ListView = MenuListView;
ListView = MenuListView;
ListViewSource = MenuItemsSource;
}
private new void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
base.ListView_SelectionChanged(sender, e);
var selectedItem = Model.SelectedItem as MainMenuItemVm;
if (selectedItem == null) MenuFrame.Navigate(typeof(WelcomePage));
else selectedItem.Destination.Navigate(selectedItem.PageType, selectedItem.Parameter);
if (selectedItem == null)
{
MenuFrame.Navigate(typeof(WelcomePage));
}
else
{
selectedItem.Destination.Navigate(selectedItem.PageType, selectedItem.Parameter);
}
}
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
FileInfo file;
if (e.NavigationMode == NavigationMode.Back)
{
file = null;
}
else
{
file = e.Parameter as FileInfo;
}
await Model.Initialize(Frame, MenuFrame, file);
}
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
Model.Cleanup();
base.OnNavigatedFrom(e);
}
}
}