50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
using MangaReader.WinUI.ViewModels;
|
|
using Microsoft.UI.Xaml;
|
|
using Microsoft.UI.Xaml.Controls;
|
|
using Microsoft.UI.Xaml.Media.Animation;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace MangaReader.WinUI.Views;
|
|
|
|
public sealed partial class MainView : UserControl
|
|
{
|
|
private readonly MainViewModel viewModel;
|
|
|
|
private readonly List<(string Tag, Type ViewType)> _tagViewMap =
|
|
[
|
|
("Search", typeof(SearchView)),
|
|
("Library", typeof(LibraryView))
|
|
];
|
|
|
|
public MainView()
|
|
{
|
|
InitializeComponent();
|
|
|
|
viewModel = (MainViewModel)DataContext;
|
|
}
|
|
|
|
private void nvSample_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
|
|
{
|
|
if (args.SelectedItem is not NavigationViewItem navigationViewItem)
|
|
return;
|
|
|
|
if (navigationViewItem.Tag is not string tagName)
|
|
return;
|
|
|
|
UpdateContent(tagName, null);
|
|
}
|
|
|
|
private void UpdateContent(string tag, NavigationTransitionInfo? transitionInfo)
|
|
{
|
|
Type? viewType = _tagViewMap.FirstOrDefault(x => x.Tag == tag).ViewType;
|
|
|
|
if (viewType == null)
|
|
return;
|
|
|
|
ContentFrame.Navigate(viewType);
|
|
}
|
|
} |