using Microsoft.UI.Xaml.Media.Animation;
using Microsoft.UI.Xaml.Navigation;
using SpaceEngineersBlueprintEditor.Model;
using SpaceEngineersBlueprintEditor.Utilities;
using SpaceEngineersBlueprintEditor.ViewModels;
using XFEExtension.NetCore.WinUIHelper.Utilities;
namespace SpaceEngineersBlueprintEditor.Views;
/// <summary>
/// 蓝图详情页面
/// </summary>
public sealed partial class BlueprintDetailPage : Page
{
public static BlueprintDetailPage? Current { get; set; }
public BlueprintDetailPageViewModel ViewModel { get; set; } = new();
public BlueprintDetailPage()
{
PageManager.AddOrUpdateCurrentPage(Current = this);
NavigationCacheMode = NavigationCacheMode.Enabled;
this.InitializeComponent();
ViewModel.AutoNavigationParameterService.Initialize(this);
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
ViewModel.AutoNavigationParameterService.OnParameterChange(e.Parameter);
if (e.Parameter is BlueprintInfoViewData parameter)
{
ConnectedAnimationService.GetForCurrentView().GetAnimation("ForwardConnectedAnimation")?.TryStart(detailPreviewImage, []);
detailPreviewImage.Source = parameter.BlueprintImage;
}
}
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
base.OnNavigatingFrom(e);
if (e.SourcePageType == typeof(BlueprintsViewPage))
ConnectedAnimationService.GetForCurrentView().PrepareToAnimate("BackConnectedAnimation", detailPreviewImage);
if (e.SourcePageType != typeof(BlueprintEditPage))
ViewModel.BackgroundImageService?.ResetBackground();
}
}
using Microsoft.UI.Xaml.Media.Animation;
using Microsoft.UI.Xaml.Navigation;
using SpaceEngineersBlueprintEditor.Model;
using SpaceEngineersBlueprintEditor.Utilities;
using SpaceEngineersBlueprintEditor.ViewModels;
using XFEExtension.NetCore.WinUIHelper.Utilities;
namespace SpaceEngineersBlueprintEditor.Views;
/// <summary>
/// 蓝图详情页面
/// </summary>
public sealed partial class BlueprintDetailPage : Page
{
public static BlueprintDetailPage? Current { get; set; }
public BlueprintDetailPageViewModel ViewModel { get; set; } = new();
public BlueprintDetailPage()
{
PageManager.AddOrUpdateCurrentPage(Current = this);
NavigationCacheMode = NavigationCacheMode.Enabled;
this.InitializeComponent();
ViewModel.AutoNavigationParameterService.Initialize(this);
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
ViewModel.AutoNavigationParameterService.OnParameterChange(e.Parameter);
if (e.Parameter is BlueprintInfoViewData parameter)
{
ConnectedAnimationService.GetForCurrentView().GetAnimation("ForwardConnectedAnimation")?.TryStart(detailPreviewImage, []);
detailPreviewImage.Source = parameter.BlueprintImage;
}
}
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
base.OnNavigatingFrom(e);
if (e.SourcePageType == typeof(BlueprintsViewPage))
ConnectedAnimationService.GetForCurrentView().PrepareToAnimate("BackConnectedAnimation", detailPreviewImage);
if (e.SourcePageType != typeof(BlueprintEditPage))
ViewModel.BackgroundImageService?.ResetBackground();
}
}