返回提交历史
Modified
SpaceEngineersBlueprintEditor/Implements/Services/NavigationViewService.cs
+5
-4
Modified
SpaceEngineersBlueprintEditor/Interface/Services/INavigationViewService.cs
+1
-1
Modified
SpaceEngineersBlueprintEditor/ViewModels/BlueprintDetailPageViewModel.cs
+3
-1
Modified
SpaceEngineersBlueprintEditor/Views/AppShellPage.xaml
+1
-1
SpaceEngineersModDev/SpaceEngineersBlueprintEditorInWinUI
添加更为方便的全局Header设置方法
b015a85
代码差异
4 个文件
+10
-7
@@ -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)
@@ -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);
@@ -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
}
@@ -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>