XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

SpaceEngineersModDev/SpaceEngineersBlueprintEditorInWinUI

添加更为方便的全局Header设置方法

b015a85
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

4 个文件 +10 -7
Modified SpaceEngineersBlueprintEditor/Implements/Services/NavigationViewService.cs +5 -4
@@ -10,12 +10,10 @@ internal class NavigationViewService : GlobalServiceBase, INavigationViewService
10 10 {
11 11 private NavigationView? navigationView;
12 12 private readonly AutoNavigationService navigationService = new();
13 private string? header;
14 public IAutoNavigationService NavigationService => navigationService;
15 13
14 public IAutoNavigationService NavigationService => navigationService;
16 15 public object? SelectedItem => navigationView?.SelectedItem;
17
18 public string? Header { get => header; set => header = value; }
16 public string? Header { get => navigationView?.Header.ToString(); set { if (navigationView is not null) navigationView.Header = value; } }
19 17
20 18 [MemberNotNull(nameof(navigationView))]
21 19 public void Initialize(NavigationView view, Frame frame)
@@ -30,7 +28,10 @@ internal class NavigationViewService : GlobalServiceBase, INavigationViewService
30 28 private void NavigationService_Navigated(object? sender, NavigationEventArgs e)
31 29 {
32 30 if (navigationView is not null && GetSelectedItem(e.SourcePageType, e.Parameter) is NavigationViewItem navigationViewItem)
31 {
33 32 navigationView.SelectedItem = navigationViewItem;
33 Header = navigationViewItem.Content.ToString() ?? string.Empty;
34 }
34 35 }
35 36
36 37 private void NavigationView_BackRequested(NavigationView sender, NavigationViewBackRequestedEventArgs args)
Modified SpaceEngineersBlueprintEditor/Interface/Services/INavigationViewService.cs +1 -1
@@ -1,6 +1,6 @@
1 1 namespace SpaceEngineersBlueprintEditor.Interface.Services;
2 2
3 public interface INavigationViewService : IAutoNavigable
3 public interface INavigationViewService : IAutoNavigable, IGlobalService
4 4 {
5 5 IAutoNavigationService NavigationService { get; }
6 6 void Initialize(NavigationView navigationView, Frame frame);
Modified SpaceEngineersBlueprintEditor/ViewModels/BlueprintDetailPageViewModel.cs +3 -1
@@ -1,11 +1,13 @@
1 1 using SpaceEngineersBlueprintEditor.Implements.Services;
2 2 using SpaceEngineersBlueprintEditor.Interface.Services;
3 3 using SpaceEngineersBlueprintEditor.Model;
4 using SpaceEngineersBlueprintEditor.Utilities;
4 5
5 6 namespace SpaceEngineersBlueprintEditor.ViewModels;
6 7
7 8 public partial class BlueprintDetailPageViewModel : ViewModelBase
8 9 {
10 private INavigationViewService? navigationViewService = GlobalServiceManager.GetService<INavigationViewService>();
9 11 public INavigationParameterService<BlueprintInfoViewData> NavigationParameterService { get; set; } = new NavigationParameterService<BlueprintInfoViewData>();
10 12 public BlueprintDetailPageViewModel()
11 13 {
@@ -14,6 +16,6 @@ public partial class BlueprintDetailPageViewModel : ViewModelBase
14 16
15 17 private void NavigationParameterService_ParameterChange(object? sender, BlueprintInfoViewData e)
16 18 {
17
19 if (navigationViewService is not null) navigationViewService.Header = e.Name;
18 20 }
19 21 }
Modified SpaceEngineersBlueprintEditor/Views/AppShellPage.xaml +1 -1
@@ -18,7 +18,7 @@
18 18 </Grid.TranslationTransition>
19 19 <StackPanel x:Name="messageStackPanel" Margin="0,5,0,0" VerticalAlignment="Top" HorizontalAlignment="Center"/>
20 20 </Grid>
21 <NavigationView x:Name="navigationView" IsBackButtonVisible="Visible" Canvas.ZIndex="0" IsBackEnabled="{x:Bind ViewModel.CanGoBack, Mode=OneWay}" Header="{x:Bind ((ContentControl)navigationView.SelectedItem).Content, Mode=OneWay}" IsSettingsVisible="False" DisplayModeChanged="NavigationView_DisplayModeChanged" PaneOpening="NavigationView_PaneOpening" PaneOpened="NavigationView_PaneOpened" PaneClosing="NavigationView_PaneClosing" PaneClosed="NavigationView_PaneClosed">
21 <NavigationView x:Name="navigationView" IsBackButtonVisible="Visible" Canvas.ZIndex="0" IsBackEnabled="{x:Bind ViewModel.CanGoBack, Mode=OneWay}" IsSettingsVisible="False" DisplayModeChanged="NavigationView_DisplayModeChanged" PaneOpening="NavigationView_PaneOpening" PaneOpened="NavigationView_PaneOpened" PaneClosing="NavigationView_PaneClosing" PaneClosed="NavigationView_PaneClosed">
22 22 <NavigationView.MenuItems>
23 23 <NavigationViewItem x:Uid="AppShell_ShellItem_MainPage" add:NavigationAddition.NavigateTo="SpaceEngineersBlueprintEditor.Views.MainPage">
24 24 <NavigationViewItem.Icon>