Skip to content

Commit 6e799b3

Browse files
committed
docs(XamlNavigation): Update Source and Tutorial Links and improve wording
1 parent 08b62f1 commit 6e799b3

18 files changed

+199
-102
lines changed

README.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,24 @@ A complete tutorial application demonstrating navigation patterns with MVUX and
8383

8484
#### Tutorial Content
8585

86+
- **[Tutorial Serie Uno.Extensions Navigation via Xaml](https://devtkss.github.io/DevTKSS.Uno.SampleApps/articles/en/Navigation/Extensions-Navigation-en.html)** - Step-by-step guide (🇩🇪 German | 🇬🇧 English) - or [watch the Video Guide 🇩🇪](https://youtu.be/knt2oOjHH30)!
87+
- **[Listen to Route Changes with IRouteNotifier](https://devtkss.github.io/DevTKSS.Uno.SampleApps/articles/en/Navigation/HowTo-ChangeRoutes-en.html)** - Advanced navigation handling - or [🇩🇪 German Version](https://devtkss.github.io/DevTKSS.Uno.SampleApps/articles/de/Navigation/HowTo-ChangeRoutes-de.html)
88+
- **[Video Tutorial Series](https://youtube.com/playlist?list=PLEL6kb4Bivm_g81iKBl-f0eYPNr5h2dFX)** - Complete walkthrough (🇩🇪 German with English subtitles)
89+
- **[Source Code](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/tree/master/src/DevTKSS.Uno.XamlNavigationApp/)** - Browse the implementation
90+
91+
**Available Resources:**
92+
8693
- [Uno.Extensions.Reactive (MVUX)](https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Mvux/Overview.html)
8794
- [Uno.Extensions.Navigation](https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Navigation/NavigationOverview.html)
8895
- [XAML Markup Navigation](https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Navigation/HowTo-NavigateInXAML.html)
96+
- [IRouteNotifier](https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Navigation/Advanced/HowTo-IRouteNotifier.html)
8997

90-
**Available Resources:**
98+
### Simple Member Selection App
9199

92-
- **[Tutorial Documentation](https://devtkss.github.io/DevTKSS.Uno.SampleApps/articles/en/Navigation/Extensions-Navigation-en.html)** - Step-by-step guide (🇩🇪 German | 🇬🇧 English)
93-
- **[Video Tutorial Series](https://youtube.com/playlist?list=PLEL6kb4Bivm_g81iKBl-f0eYPNr5h2dFX)** - Complete walkthrough (🇩🇪 German with English subtitles)
94-
- **[Source Code](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/tree/master/src/DevTKSS.Uno.XamlNavigationApp-1/)** - Browse the implementation
100+
A basic application demonstrating selection and display of member names in a `ListView` bound to a `ListState<string>` in the Model using MVUX.
101+
102+
- **[Video Tutorial - How To: Binden von ListState und ImmutableList zu FeedView & ListView im UI | Uno Community Tutorial](https://youtu.be/wOsSlv1YFic)** - Step-by-step guide (🇩🇪 German)
103+
- **[Source Code](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/tree/master/src/DevTKSS.Uno.SimpleMemberSelectionApp/)**
95104

96105
---
97106

docs/articles/de/Introduction-de.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Hier ein schneller Überblick über die enthaltenen Samples. Detaillierte Infos
3030
### XamlNavigationApp (Mvux)
3131

3232
- [NavigationView in MVUX oder MVVM + XAML](xref:DevTKSS.Uno.ExtensionsNavigation.Overview.de)
33-
- [Zum Quellcode](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/blob/master/src/DevTKSS.Uno.XamlNavigationApp-1/)
33+
- [Zum Quellcode](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/blob/master/src/DevTKSS.Uno.XamlNavigationApp/)
3434

3535
---
3636

docs/articles/de/Navigation/Extensions-Navigation-de.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,13 @@ Lass uns zuerst einmal schauen, was man beispielsweise in einer Xaml-basierten U
2828

2929
## Voraussetzungen
3030

31-
Diese Tutorial Reihe baut darauf auf, dass deine Entwicklungsumgebung bereits vollständig eingerichtet ist und der Befehl `uno-check --tfm net9.0-desktop` ausgeführt in deinem Terminal grünes Licht gibt. Hier kannst du diese auch noch einmal nachschauen:
31+
Diese Tutorial Reihe baut darauf auf, dass deine Entwicklungsumgebung bereits vollständig eingerichtet ist und der nachfolgende Befehl dir in deinem Terminal ausgeführt grünes Licht gibt:
32+
33+
```bash
34+
uno-check --tfm net9.0-desktop`
35+
```
36+
37+
Hier kannst du bei Bedarf auch noch einmal nachschauen:
3238

3339
- [Tutorial: Einrichten der Entwicklungsumgebung](xref:DevTKSS.Uno.Setup.DevelopmentEnvironment.de)
3440

@@ -46,7 +52,7 @@ Wenn du diesen Schritt abgeschlossen hast, fahren wir mit der Implementierung de
4652

4753
---
4854

49-
- [Hier geht's zum Source Code der verwendeten Beispiel Anwendung XamlNavigationApp](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/blob/master/src/DevTKSS.Uno.XamlNavigationApp-1)
55+
- [Hier geht's zum Source Code der verwendeten Beispiel Anwendung XamlNavigationApp](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/blob/master/src/DevTKSS.Uno.XamlNavigationApp)
5056
5157
### Uno Dokumentation Links
5258

docs/articles/de/Navigation/HowTo-ChangeRoutes-de.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ Solltest du das noch nicht gemacht haben, dann geht das jetzt ganz einfach auch
117117

118118
Nun fehlt nur noch die eigentliche Reaktion auf die Routen Änderung. Das machen wir in der Methode `OnRouteChanged`, die wir zuvor im Konstruktor registriert haben. Hier ist ein Beispiel, wie du dies implementieren kannst:
119119

120-
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp-1/Presentation/MainModel.cs#L19-L22)]
120+
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp/Presentation/MainModel.cs#L19-L22)]
121121

122122
**Was passiert hier?**
123123

@@ -138,7 +138,7 @@ Glückwunsch! Du hast erfolgreich gelernt, wie du auf Routen Änderungen in dein
138138

139139
**Hier nochmal der komplette Code, den du in deinem Model von diesem Tutorial haben solltest:**
140140

141-
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp-1/Presentation/MainModel.cs#L3-L25)]
141+
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp/Presentation/MainModel.cs#L3-L25)]
142142

143143
## Links zur Uno Documentation
144144

docs/articles/de/Navigation/HowTo-Defining-UI-NavigationView-de.md

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ uid: DevTKSS.Uno.ExtensionsNavigation.HowTo-Defining-UI.de
66

77
In diesem Teil des Tutorials, wollen wir uns anschauen, wie man eine einfache Seitennavigation mittels einer `NavigationView` erstellen kann.
88

9-
**Was zuvor geschah...**
9+
**Was wir zuvor gemacht haben**
1010

1111
Wir haben uns nun zuvor im Intro angeschaut, was wir mit der `Uno.Extensions.Navigation` und der `NavigationView` alles machen können und im anschluss das Setup der Anwendung angepasst oder diese erstellt. Nun wollen wir uns anschauen wie man dann dann auch umsetzen kann!
1212

1313
## Tutorial Video: Navigation mit `NavigationView` in MVUX und XAML
1414

1515
In diesem Video werden wir uns zusammen anschauen, wie du ein `NavigationView`-Steuerelement in einer XAML-Markup-App einrichtest und verwendest. Wir werden die Navigation zwischen verschiedenen Seiten implementieren und dabei die MVUX-Prinzipien anwenden. Den Code kannst du dabei direkt aus dem Code hierunter kopieren und in deine Anwendung einfügen, wenn du möchtest, aber aus eigener Erfahrung heraus hilft es dir mehr, den Code selber zu schreiben und dabei zuzuschauen, wie es funktioniert. So kannst du auch besser verstehen, was du tust und warum.
1616

17-
![Navigation-in-Xaml-und-Mvux-mit-Navigation-View](https://youtube.com/embed/knt2oOjHH30)
17+
![Navigation-in-Xaml-und-Mvux-mit-Navigation-View](https://youtube.com/embed/vVvnK02r2ug)
1818

1919
## Implementierung der NavigationView
2020

@@ -84,27 +84,33 @@ Nun wollen wir die von der Extension ermöglichten Eigenschaften, sogenannte `At
8484

8585
```diff
8686
<Grid uen:Region.Attached="True"
87-
utu:SafeArea.Insets="VisibleBounds">
88-
<Grid.RowDefinitions>
87+
utu:SafeArea.Insets="VisibleBounds">
88+
<Grid.RowDefinitions>
8989
<RowDefinition Height="*" />
9090
<RowDefinition Height="Auto"/>
91-
</Grid.RowDefinitions>
92-
<NavigationView uen:Region.Attached="True"
93-
Header="{Binding Title}"
94-
IsPaneToggleButtonVisible="True"
95-
PaneDisplayMode="Auto">
96-
<NavigationView.MenuItems>
91+
</Grid.RowDefinitions>
92+
93+
<NavigationView uen:Region.Attached="True"
94+
Header="{Binding Title}"
95+
IsPaneToggleButtonVisible="True"
96+
PaneDisplayMode="Auto">
97+
98+
<NavigationView.MenuItems>
9799
<NavigationViewItem Content="Home"
98100
+ uen:Region.Name="Dashboard"
99101
Icon="Home" />
100102
<NavigationViewItem Content="Some View"
101103
+ uen:Region.Name="Second"
102104
Icon="AddFriend" />
103-
</NavigationView.MenuItems>
104-
<NavigationView.Content>
105-
<Grid uen:Region.Attached="True" />
106-
</NavigationView.Content>
107-
</NavigationView>
105+
</NavigationView.MenuItems>
106+
107+
<NavigationView.Content>
108+
<Grid uen:Region.Attached="True" />
109+
</NavigationView.Content>
110+
111+
</NavigationView>
112+
113+
</Grid>
108114
```
109115

110116
1. Zu guter Letzt benötigt das `Grid`, welches wir für die Navigation des Content der `NavigationView` verwenden wollen nun noch zwei letzte weitere und sehr wichtige Eigenschaften setzen, ohne welche es gut möglich ist, dass unser Vorhaben misslingt.
@@ -118,8 +124,8 @@ Nun wollen wir die von der Extension ermöglichten Eigenschaften, sogenannte `At
118124

119125
```diff
120126
<NavigationView.Content>
121-
<Grid uen:Region.Attached="True"
122-
+ uen:Region.Navigator="Visibility"
127+
<Grid uen:Region.Attached="True"
128+
+ uen:Region.Navigator="Visibility"
123129
Visibility="Visible" />
124130
</NavigationView.Content>
125131
```
@@ -137,7 +143,7 @@ Nun wollen wir die von der Extension ermöglichten Eigenschaften, sogenannte `At
137143
*Die Namensgebung ist also keineswegs Zufall!*
138144

139145
>[!NOTE]
140-
> Der "Visibility"-Navigator ist gemäß der Dokumentation verfügbare Bezeichner für diese Eigenschaft.
146+
> Der "Visibility"-Navigator ist gemäß der [Uno Dokumentation der einzige verfügbare Bezeichner für diese Eigenschaft](https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Navigation/HowTo-Regions.html#properties-in-the-region-class).
141147

142148
## Nächste Schritte
143149

docs/articles/de/Navigation/HowTo-ModelDefinition-de.md

Lines changed: 63 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,68 @@ uid: DevTKSS.Uno.ExtensionsNavigation.HowTo-DefiningModelOrViewModel.de
44

55
# Anleitung: Navigation im Model oder ViewModel
66

7-
Nun wollen wir uns einmal anschauen, wie wir passend zur Uno Extensions Navigation unser Model bzw. ViewModel aufbauen müssen.
7+
Nun wollen wir uns einmal anschauen, wie wir passend zur Uno Extensions Navigation unsere Verbindung zwischen der `View` und dem `ViewModel` aufbauen müssen.
88

9-
## Voraussetzungen
9+
Hierfür wollen wir uns natürlich ersteinmal die Frage stellen: **Navigation nur im Xaml - Geht das eigentlich?**
1010

11-
1. Erstelle hierfür zu aller erst ein Model bzw. ViewModel Element.
11+
*Ja und Nein.*
1212

13-
[!INCLUDE [Anleitung zur Erstellung eines grundlegenden Model bzw. ViewModels](../HowTo-Adding-New-VM-Class-Record-de.md)]
13+
Also, dann lass uns das doch mal genauer betrachten. Was bedeutet das denn nun?
1414

15-
2. Füge nun noch den `INavigator` als **DependencyInjection** Konstruktor Parameter hinzu.
15+
- **Ja:**
1616

17-
[!INCLUDE [Anleitung: Nutze Konstruktor Parameter für DependencyInjection](../HowTo-Using-DI-in-ctor-de.md)]
17+
Tatsächlich brauchst du grundsätzlich weder Codebehind noch Code im ViewModel / Model für die Navigation, wenn du die `Attached Properties` in dem Xaml deiner Seite nutzt.
1818

19-
## Navigation im Xaml
19+
**Wie das geht, erfährst du bei Interesse direkt hier:**
2020

21-
Grundsätzlich benötigst du tatsächlich nicht unbedingt einen Navigations-Code im ViewModel / Model, wenn du wie in der [Anleitung: Definieren des UI mit NavigationView für ExtensionsNavigation](xref:DevTKSS.Uno.ExtensionsNavigation.HowTo-Defining-UI.de) die `Attached Properties` nutzt!
21+
[Anleitung: Definieren des UI mit NavigationView für ExtensionsNavigation](xref:DevTKSS.Uno.ExtensionsNavigation.HowTo-Defining-UI.de)
2222

23-
In diesem Fall wären es klassischerweise nur dann die Title Eigenschaften oder andere, die du von View zu ViewModel bindest und du wärst fertig. Und genau das ist auch ein großer Vorteil dieser Extension meiner Meinung nach.
23+
In diesem Fall wären es dann nur zum beispiel die anzuzeigende Eigenschaft, wie die `string`-Property `Title`, die du entsprechend in deiner `Page`, also deiner `View` zum `ViewModel` bzw. `Model` bindest und schon bist du fertig damit!
24+
25+
> [!TIP]
26+
> Mit der Attached Property `uen:Navi` kannst du den Titel der Seite in der NavigationView setzen.
27+
28+
- **Nein:**
29+
30+
1. Du musst weiterhin die Routen, die du Navigieren möchtest in der `App.xaml.cs` Klasse in der `RegisterRoutes` Methode registrieren, damit der `INavigator` auch weiß, was zusammen gehört und von wo du mit welchen "Qualifizierern" welche Routen erlauben möchtest zu navigieren.
31+
2. Wenn du in deinem Model bzw. ViewModel eine Navigation auslösen möchtest, dann brauchst du den `INavigator` dort natürlich, um die Navigation zu starten.
32+
33+
## Vorraussetzungen schaffen
34+
35+
Gut, also lass uns doch mal davon ausgehen, dass wir genannten zweiten Fall haben und folgendes Tun wollen:
36+
37+
1. Unser Anwender soll mit einem Klick auf einen `Button` eine Funktion in unserem `ViewModel` bzw. `Model` auslösen können
38+
2. Diese Funktion soll ihn zur `SecondPage` navigieren, die wir in der Uno App Vorlage inkludiert hatten, aber es könnte auch jede andere Seite sein, die du selbst erstellt und registriert hast.
39+
40+
Angenommen das hier ist unsere `App.xaml.cs` mit der `RegisterRoutes` Methode:
41+
42+
```csharp
43+
{
44+
views.Register(
45+
new ViewMap(ViewModel: typeof(ShellModel)),
46+
new ViewMap<MainPage, MainModel>(),
47+
new DataViewMap<SecondPage, SecondViewModel, Entity>()
48+
);
49+
50+
routes.Register(
51+
new RouteMap("", View: views.FindByViewModel<ShellModel>(),
52+
Nested:
53+
[
54+
new RouteMap("Main", View: views.FindByViewModel<MainModel>(), IsDefault:true),
55+
new RouteMap("Second", View: views.FindByViewModel<SecondModel>())
56+
]
57+
)
58+
);
59+
}
60+
```
61+
62+
Aber wie muss dafür unser `ViewModel` bzw. `Model` aussehen, damit wir das umsetzen können?
63+
64+
Hierfür brauchen wir erstmal folgendes Schritte:
65+
66+
1. [Erstelle ein Model bzw. ViewModel](xref:DevTKSS.Uno.Setup.HowTo-AddingNew-VM-Class-Record.de)
67+
68+
2. [Und hole dir dort den `INavigator` als **`DependencyInjection` Konstruktor Parameter**](xref:DevTKSS.Uno.Setup.Using-DI-in-ctor.de)
2469

2570
## Binden der View UI Steuerelemente an Eigenschaften im ViewModel bzw. Model
2671

@@ -64,6 +109,10 @@ public partial class DashboardViewModel : ObservableObject
64109
}
65110
```
66111

112+
Mit diesem Code ist es dir möglich, die `Name` Eigenschaft in der View zu binden und den `NavigateSecondAsyncCommand` zu verwenden, um zur `SecondViewModel` zu navigieren.
113+
114+
Hierbei kannst du einen Button oder ein anderes Steuerelement in der View verwenden, um die Navigation auszulösen, aber indem du die `IsEnabled` Eigenschaft des Steuerelements an den `CanExecute` Status des Befehls bindest, kannst du die Navigation nur dann ausführen, wenn der Name nicht leer ist.
115+
67116
### [Mvux](#tab/mvux)
68117

69118
```csharp
@@ -92,8 +141,11 @@ public partial record MainModel
92141
}
93142
```
94143

95-
Mit diesem Code ist es dir möglich, die `Name` Eigenschaft in der View zu binden und den `NavigateSecondAsyncCommand` zu verwenden, um zur `SecondViewModel` zu navigieren.
144+
Hier könntest du dann in der View einen Button definieren, der die `NavigateSecondAsync` Methode aufruft, um zur `SecondModel` zu navigieren, sich den `Name` Wert holt und diesen als Daten an die nächste Seite übergibt.
145+
Wenn du jetzt einmal vergleichst, wie das in Mvvm und Mvux aussieht, wirst du feststellen, dass es im Grunde genommen sehr ähnlich ist, aber in Mvux das ganze doch irgendwie übersichtlicher und du weniger "boilerplate" Code benötigt um das selbe zu erreichen.
96146

97-
Hierbei kannst du einen Button oder ein anderes Steuerelement in der View verwenden, um die Navigation auszulösen, aber indem du die `IsEnabled` Eigenschaft des Steuerelements an den `CanExecute` Status des Befehls bindest, kannst du die Navigation nur dann ausführen, wenn der Name nicht leer ist.
147+
Und um zum beispiel direkt an den `IState<string> Name` eine TwoWay Bindung in der View zu erstellen, brauchst du nicht einmal eine `PropertyChanged` Benachrichtigung, wie du es in Mvvm tun müsstest, sondern hängst einfach an das `.Value(...)` ein `.ForEach(...)` daran, erstellst eine Methode, die den neuen Wert empfängt und kannst dort direkt damit arbeiten. Kein lästiges Implementieren von `INotifyPropertyChanged` mehr.
148+
149+
Mehr zu diesem Thema findest du hier im [Tutorial: Auf Routen Änderungen reagieren](xref:DevTKSS.Uno.ExtensionsNavigation.HowTo-ChangeRoutes.de)
98150

99151
---

docs/articles/de/Navigation/HowTo-RegisterRoutes-de.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ uid: DevTKSS.Uno.ExtensionsNavigation.HowTo-RegisterRoutes.de
44

55
# Anleitung: Registrieren und Verwalten von Routen
66

7-
Mit der `Uno.Extensions.Navigation` verwenden wir eine zentrale Definition der **Routen Registrierung** in der App Klasse [`App.xaml.cs`(source link)](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/blob/master/src/DevTKSS.Uno.XamlNavigationApp-1/App.xaml.cs) gehandhabt, was man sich vereinfacht schlichtweg wie eine Landkarte vorstellen kann.
7+
Mit der `Uno.Extensions.Navigation` verwenden wir eine zentrale Definition der **Routen Registrierung** in der App Klasse [`App.xaml.cs`(source link)](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/blob/master/src/DevTKSS.Uno.XamlNavigationApp/App.xaml.cs) gehandhabt, was man sich vereinfacht schlichtweg wie eine Landkarte vorstellen kann.
88

99
## Voraussetzungen
1010

@@ -22,7 +22,7 @@ Bevor du mit der Routen Registrierung beginnst, brauchst du noch zwei Dinge:
2222

2323
Füge die dafür benötigte Methode wie folgt in deine App Klasse unterhalb der `OnLaunched` Methode ein:
2424

25-
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp-1/App.xaml.cs#L82)]
25+
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp/App.xaml.cs#L82)]
2626

2727
## Definieren der `ViewMap`'s
2828

@@ -34,13 +34,16 @@ Hiermit teilen wir dem Navigator mit, welche Seite (`View`) mit welchem (`View`-
3434
new ViewMap(ViewModel: typeof(ShellModel)),
3535
new ViewMap<MainPage, MainModel>(),
3636
new DataViewMap<SecondPage, SecondViewModel, Entity>()
37+
);
38+
39+
...
3740
```
3841

3942
Wenn zusätzliche Daten Objekte bei der Navigation dieser Route erforderlich sind, dann konvertierst du diese als `DataViewMap` beispielsweise so wie in der letzten Zeile.
4043

4144
So sieht das zum Beispiel dann in der XamlNavigationApp aus, wo ich `Entity` nicht mehr benötigt habe und diese Route entsprechend zurück konvertiert habe:
4245

43-
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp-1/App.xaml.cs#L83-L89)]
46+
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp/App.xaml.cs#L83-L89?highlight=L5)]
4447

4548
## Hierarchisch aufgebaute `RoutesMap`'s
4649

@@ -65,9 +68,16 @@ Nun wollen wir aber auf der `MainPage` vielleicht eine TabBar, NavigationBar, ei
6568

6669
**Das machen wir beispielsweise so:**
6770

68-
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp-1/App.xaml.cs#L96-L101)]
71+
[!code-csharp[](../../../../src/DevTKSS.Uno.XamlNavigationApp/App.xaml.cs#L91-L103)]
72+
73+
Hier siehst du, dass ich:
74+
75+
1. Eine weitere Seite hinzugefügt habe: `DashboardPage`
76+
2. Ein zugehöriges Model erstellt habe: `DashboardModel`
77+
3. Diese in der `routes.Register` Methode registriert habe, indem ich sie als `Nested` Routen der `Main`-Route hinzugefügt habe.
78+
4. Und die beiden Routen `"Dashboard"` `"Second"` somit nun in der `RouteMap` der `Main`-Route verschachtelt sind.
6979

70-
Hier siehst du, dass ich eine weitere Seite hinzugefügt habe, die `DashboardPage` und ein Model dazu erstellt habe namens `DashboardModel`. Außerdem habe ich die Route `Second` in die `RouteMap` der `Main`-Route verschachtelt.
80+
Klasse! Nun sind diese Routen also korrekt registriert und können mit dem "Nested"-Qualifizierer `-` in der NavigationView oder anderen Navigationssteuerelementen verwendet werden um sie innerhalb der `MainPage` `"Main"`-Route anzuzeigen!
7181

7282
## Nützliche Informationen
7383

@@ -77,4 +87,4 @@ Wenn du anstelle von **MVVM** das **MVUX** verwendest, solltest du darauf achten
7787

7888
## Anwendung starten
7989

80-
Nun sind wir auch schon fertig mit der Routen Registrierung und können die Anwendung starten. Wenn du nun die App startest, solltest du in der Lage sein, die `MainPage` zu sehen und von dort aus zu den anderen Seiten zu navigieren.
90+
Nun sind wir auch schon fertig mit der Routen Registrierung und können die Anwendung starten. Wenn du nun die App startest, solltest du in der Lage sein, die `MainPage` zu sehen und von dort aus zu den anderen Seiten zu navigieren. Diese sollten dann im `Content` Bereich der `NavigationView` angezeigt werden, wenn du alle Schritte bisher befolgt hast.

0 commit comments

Comments
 (0)