Skip to content

Commit f28a22b

Browse files
authored
chore: Merge PR #17
feat(IRouteNotifyer): Add code for listening for Routechanges
2 parents 3ec8ee3 + 712806f commit f28a22b

File tree

4 files changed

+22
-26
lines changed

4 files changed

+22
-26
lines changed

src/DevTKSS.Uno.Samples.sln

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,22 +49,14 @@ Global
4949
{AE75474D-B5FC-3152-7897-AB178447428A}.Debug|x86.Build.0 = Debug|Any CPU
5050
{AE75474D-B5FC-3152-7897-AB178447428A}.Release|Any CPU.ActiveCfg = Release|Any CPU
5151
{AE75474D-B5FC-3152-7897-AB178447428A}.Release|Any CPU.Build.0 = Release|Any CPU
52-
{AE75474D-B5FC-3152-7897-AB178447428A}.Release|x64.ActiveCfg = Release|Any CPU
53-
{AE75474D-B5FC-3152-7897-AB178447428A}.Release|x64.Build.0 = Release|Any CPU
54-
{AE75474D-B5FC-3152-7897-AB178447428A}.Release|x86.ActiveCfg = Release|Any CPU
55-
{AE75474D-B5FC-3152-7897-AB178447428A}.Release|x86.Build.0 = Release|Any CPU
56-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
57-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
58-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Debug|x64.ActiveCfg = Debug|Any CPU
59-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Debug|x64.Build.0 = Debug|Any CPU
60-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Debug|x86.ActiveCfg = Debug|Any CPU
61-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Debug|x86.Build.0 = Debug|Any CPU
62-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
63-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Release|Any CPU.Build.0 = Release|Any CPU
64-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Release|x64.ActiveCfg = Release|Any CPU
65-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Release|x64.Build.0 = Release|Any CPU
66-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Release|x86.ActiveCfg = Release|Any CPU
67-
{0C51BF5A-7C98-4BE2-3ED6-A5796C06AB8E}.Release|x86.Build.0 = Release|Any CPU
52+
{88A95F19-AAAB-6B45-A5D7-8BABCE37F25C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
53+
{88A95F19-AAAB-6B45-A5D7-8BABCE37F25C}.Debug|Any CPU.Build.0 = Debug|Any CPU
54+
{88A95F19-AAAB-6B45-A5D7-8BABCE37F25C}.Release|Any CPU.ActiveCfg = Release|Any CPU
55+
{88A95F19-AAAB-6B45-A5D7-8BABCE37F25C}.Release|Any CPU.Build.0 = Release|Any CPU
56+
{88A95F19-AAAB-6B45-A5D7-8BABCE37F25C}.Release|x64.ActiveCfg = Release|Any CPU
57+
{88A95F19-AAAB-6B45-A5D7-8BABCE37F25C}.Release|x64.Build.0 = Release|Any CPU
58+
{88A95F19-AAAB-6B45-A5D7-8BABCE37F25C}.Release|x86.ActiveCfg = Release|Any CPU
59+
{88A95F19-AAAB-6B45-A5D7-8BABCE37F25C}.Release|x86.Build.0 = Release|Any CPU
6860
EndGlobalSection
6961
GlobalSection(SolutionProperties) = preSolution
7062
HideSolutionNode = FALSE

src/DevTKSS.Uno.XamlNavigationApp-1/Presentation/MainModel.cs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
1-
using DevTKSS.Uno.XamlNavigationApp.Models;
2-
31
namespace DevTKSS.Uno.XamlNavigationApp.Presentation;
42

53
public partial record MainModel
64
{
7-
private INavigator _navigator;
5+
private readonly INavigator _navigator;
6+
private readonly IRouteNotifier _routeNotifier;
87

98
public MainModel(
109
IStringLocalizer localizer,
1110
IOptions<AppConfig> appInfo,
12-
INavigator navigator)
11+
INavigator navigator,
12+
IRouteNotifier routeNotifier)
1313
{
1414
_navigator = navigator;
15-
Title = "Main";
16-
Title += $" - {localizer["ApplicationName"]}";
17-
Title += $" - {appInfo?.Value?.Environment}";
15+
_routeNotifier = routeNotifier;
16+
_routeNotifier.RouteChanged += Main_OnRouteChanged;
17+
}
18+
19+
private async void Main_OnRouteChanged(object? sender, RouteChangedEventArgs e)
20+
{
21+
await Title.SetAsync(e.Navigator?.Route?.ToString());
1822
}
1923

20-
public string? Title { get; }
24+
public IState<string> Title => State<string>.Value(this, () => _navigator.Route?.ToString() ?? string.Empty);
2125

2226
public IState<string> Name => State<string>.Value(this, () => string.Empty);
2327

src/DevTKSS.Uno.XamlNavigationApp-1/Presentation/MainPage.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
NavigationCacheMode="Required"
99
Background="{ThemeResource BackgroundBrush}">
1010
<Page.Resources>
11-
<!--<Thickness x:Key="NavigationViewHeaderMargin">20,20,20,20</Thickness>-->
11+
<Thickness x:Key="NavigationViewHeaderMargin">20,20,20,20</Thickness>
1212
<!--Would expect this to be not needed when setting IsTitleBarAutoPaddingEnabled to false, but that does not do anything, so use this instead.
1313
https://learn.microsoft.com/de-de/windows/apps/design/controls/navigationview#top-whitespace-->
1414
</Page.Resources>

src/DevTKSS.Uno.XamlNavigationApp-1/app.manifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
3-
<assemblyIdentity version="1.0.0.0" name="UnoApp2.Windows.app"/>
3+
<assemblyIdentity version="1.0.0.0" name="DevTKSS.Uno.XamlNavigationApp.app"/>
44

55
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
66
<application>

0 commit comments

Comments
 (0)