Files
Shrlalgo.RvKits/WPFluent.Gallery/Views/Pages/MediaPage.xaml.cs
2025-04-24 20:56:44 +08:00

55 lines
1.5 KiB
C#

using MediaViewModel = WPFluent.Gallery.ViewModels.Pages.MediaViewModel;
namespace WPFluent.Gallery.Views.Pages;
public partial class MediaPage : INavigableView<MediaViewModel>
{
private readonly INavigationService _navigationService;
public MediaViewModel ViewModel { get; }
public MediaPage(MediaViewModel viewModel, INavigationService navigationService)
{
ViewModel = viewModel;
DataContext = this;
_navigationService = navigationService;
InitializeComponent();
Loaded += HandleLoaded;
Unloaded += HandleUnloaded;
}
private void HandleLoaded(object sender, RoutedEventArgs e)
{
INavigationView? navigationControl = _navigationService.GetNavigationControl();
if (
navigationControl?.BreadcrumbBar != null
&& navigationControl.BreadcrumbBar.Visibility != Visibility.Collapsed
)
{
navigationControl.BreadcrumbBar.SetCurrentValue(VisibilityProperty, Visibility.Collapsed);
}
}
private void HandleUnloaded(object sender, RoutedEventArgs e)
{
INavigationView? navigationControl = _navigationService.GetNavigationControl();
if (
navigationControl?.BreadcrumbBar != null
&& navigationControl.BreadcrumbBar.Visibility != Visibility.Visible
)
{
navigationControl.BreadcrumbBar.SetCurrentValue(VisibilityProperty, Visibility.Visible);
}
Loaded -= HandleLoaded;
Unloaded -= HandleUnloaded;
}
}