using Microsoft.UI.Xaml.Navigation; using SpaceEngineersBlueprintEditor.Model; using SpaceEngineersBlueprintEditor.ViewModels; using XFEExtension.NetCore.WinUIHelper.Utilities; namespace SpaceEngineersBlueprintEditor.Views; /// /// À¶Í¼±à¼­Ò³Ãæ /// public sealed partial class BlueprintEditPage : Page { public static BlueprintEditPage? Current { get; set; } public BlueprintEditPageViewModel ViewModel { get; set; } = new(); public BlueprintEditPage() { PageManager.AddOrUpdateCurrentPage(Current = this); this.InitializeComponent(); NavigationCacheMode = NavigationCacheMode.Required; ViewModel.AutoNavigationParameterService.Initialize(this); } protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (ViewModel.NavigationViewService is not null) { ViewModel.NavigationViewService.Header = null; ViewModel.NavigationViewService.ContentMargin = new(); } ViewModel.AutoNavigationParameterService.OnParameterChange(e.Parameter); } protected override void OnNavigatingFrom(NavigatingCancelEventArgs e) { base.OnNavigatingFrom(e); if (ViewModel.NavigationViewService is not null) ViewModel.NavigationViewService.ContentMargin = new(56, 24, 56, 0); ViewModel.BackgroundImageService?.ResetBackground(); } private void TabView_TabCloseRequested(TabView sender, TabViewTabCloseRequestedEventArgs args) { ViewModel.TabViewItems.Remove(args.Tab); if (ViewModel.TabViewItems.Count == 0) ViewModel.CreateTabViewItem(null); } }