mirror of
https://github.com/claunia/marechai.git
synced 2025-12-16 19:14:25 +00:00
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
|
|
using System;
|
||
|
|
using Marechai.App.Presentation.ViewModels;
|
||
|
|
using Microsoft.UI.Xaml;
|
||
|
|
using Microsoft.UI.Xaml.Controls;
|
||
|
|
using Microsoft.UI.Xaml.Navigation;
|
||
|
|
|
||
|
|
namespace Marechai.App.Presentation.Views;
|
||
|
|
|
||
|
|
public sealed partial class PhotoDetailPage : Page
|
||
|
|
{
|
||
|
|
private Guid? _pendingPhotoId;
|
||
|
|
|
||
|
|
public PhotoDetailPage()
|
||
|
|
{
|
||
|
|
InitializeComponent();
|
||
|
|
DataContextChanged += PhotoDetailPage_DataContextChanged;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||
|
|
{
|
||
|
|
base.OnNavigatedTo(e);
|
||
|
|
|
||
|
|
Guid? photoId = null;
|
||
|
|
|
||
|
|
if(e.Parameter is PhotoDetailNavigationParameter param) photoId = param.PhotoId;
|
||
|
|
|
||
|
|
if(photoId.HasValue)
|
||
|
|
{
|
||
|
|
_pendingPhotoId = photoId;
|
||
|
|
|
||
|
|
if(DataContext is PhotoDetailViewModel viewModel)
|
||
|
|
_ = viewModel.LoadPhotoCommand.ExecuteAsync(photoId.Value);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void PhotoDetailPage_DataContextChanged(FrameworkElement sender, DataContextChangedEventArgs args)
|
||
|
|
{
|
||
|
|
if(DataContext is PhotoDetailViewModel viewModel && _pendingPhotoId.HasValue)
|
||
|
|
_ = viewModel.LoadPhotoCommand.ExecuteAsync(_pendingPhotoId.Value);
|
||
|
|
}
|
||
|
|
}
|