Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .github/workflows/build-deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,6 @@ on:
- 'src/**'
- 'README.md'
- '.github/workflows/build-deploy-docs.yml'
pull_request:
branches: [ master ]
paths:
- 'docs/**'
- 'src/**'
- 'README.md'
workflow_dispatch:

permissions:
Expand Down
30 changes: 22 additions & 8 deletions src/.vscode/launch.json → .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
"name": "Uno Platform Desktop Debug (MvuxGallery)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-desktop",
"preLaunchTask": "build-desktop-MvuxGallery",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/DevTKSS.Uno.SampleApps.MvuxGallery/bin/Debug/net9.0-desktop/DevTKSS.Uno.SampleApps.MvuxGallery.dll",
"args": [],
"launchSettingsProfile": "DevTKSS.Uno.SampleApps.MvuxGallery (Desktop)",
"launchSettingsProfile": "DevTKSS MvuxGallery (Desktop)",
"env": {
"DOTNET_MODIFIABLE_ASSEMBLIES": "debug"
},
Expand All @@ -25,24 +25,38 @@
"stopAtEntry": false
},
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/main/debugger-launchjson.md
"name": "Uno Platform Desktop Debug (XamlNavigationApp)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-desktop",
"preLaunchTask": "build-desktop-XamlNavigationApp",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/DevTKSS.Uno.XamlNavigationApp-1/bin/Debug/net9.0-desktop/DevTKSS.Uno.XamlNavigationApp.dll",
"program": "${workspaceFolder}/DevTKSS.Uno.XamlNavigationApp/bin/Debug/net9.0-desktop/DevTKSS.Uno.XamlNavigationApp.dll",
"args": [],
"launchSettingsProfile": "DevTKSS.Uno.XamlNavigationApp (Desktop)",
"env": {
"DOTNET_MODIFIABLE_ASSEMBLIES": "debug"
},
"cwd": "${workspaceFolder}/DevTKSS.Uno.XamlNavigationApp-1",
"cwd": "${workspaceFolder}/DevTKSS.Uno.XamlNavigationApp",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Uno Platform Desktop Debug (SimpleMemberSelectionApp)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-desktop-SimpleMemberSelectionApp",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/DevTKSS.Uno.SimpleMemberSelectionApp-1/bin/Debug/net9.0-desktop/DevTKSS.Uno.SimpleMemberSelectionApp.dll",
"args": [],
"launchSettingsProfile": "DevTKSS.Uno.SimpleMemberSelectionApp (Desktop)",
"env": {
"DOTNET_MODIFIABLE_ASSEMBLIES": "debug"
},
"cwd": "${workspaceFolder}/DevTKSS.Uno.SimpleMemberSelectionApp",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"console": "internalConsole",
"stopAtEntry": false
}
]
}
18 changes: 17 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
{
"files.associations": {
"*.tmpl*": "mustache"
"*.tmpl*": "mustache",
"global.json": "jsonc"
},
"markdownlint.lintWorkspaceGlobs": [
"**/*.{md,mkd,mdwn,mdown,markdown,markdn,mdtxt,mdtext,workbook}",
"!**/*.code-search",
"!**/bower_components",
"!**/node_modules",
"!**/.git",
"!**/vendor",
"!**/copilot-instructions.md"
],
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.expand": false,
"explorer.fileNesting.patterns": {
"*.xaml": "$(capture).xaml.cs"
},
"dotnet.defaultSolution": "DevTKSS.Uno.SampleApps.slnx"
}
38 changes: 32 additions & 6 deletions src/.vscode/tasks.json → .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"version": "2.0.0",
"tasks": [
{
"label": "build-desktop MvuxGallery",
"label": "build-desktop-MvuxGallery",
"command": "dotnet",
"type": "process",
"args": [
Expand All @@ -15,7 +15,7 @@
"problemMatcher": "$msCompile"
},
{
"label": "publish-desktop MvuxGallery",
"label": "publish-desktop-MvuxGallery",
"command": "dotnet",
"type": "process",
"args": [
Expand All @@ -28,25 +28,51 @@
"problemMatcher": "$msCompile"
},
{
"label": "build-desktop XamlNavigationApp",
"label": "build-desktop-XamlNavigationApp",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/DevTKSS.Uno.XamlNavigationApp-1/DevTKSS.Uno.XamlNavigationApp.csproj",
"${workspaceFolder}/DevTKSS.Uno.XamlNavigationApp/DevTKSS.Uno.XamlNavigationApp.csproj",
"/property:GenerateFullPaths=true",
"/property:TargetFramework=net9.0-desktop",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish-desktop XamlNavigationApp",
"label": "publish-desktop-XamlNavigationApp",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/DevTKSS.Uno.XamlNavigationApp-1/DevTKSS.Uno.XamlNavigationApp.csproj",
"${workspaceFolder}/DevTKSS.Uno.XamlNavigationApp/DevTKSS.Uno.XamlNavigationApp.csproj",
"/property:GenerateFullPaths=true",
"/property:TargetFramework=net9.0-desktop",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "build-desktop-SimpleMemberSelectionApp",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/DevTKSS.Uno.SimpleMemberSelectionApp/DevTKSS.Uno.SimpleMemberSelectionApp.csproj",
"/property:GenerateFullPaths=true",
"/property:TargetFramework=net9.0-desktop",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish-desktop-SimpleMemberSelectionApp",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/DevTKSS.Uno.SimpleMemberSelectionApp/DevTKSS.Uno.SimpleMemberSelectionApp.csproj",
"/property:GenerateFullPaths=true",
"/property:TargetFramework=net9.0-desktop",
"/consoleloggerparameters:NoSummary"
Expand Down
29 changes: 29 additions & 0 deletions DevTKSS.Uno.SampleApps.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<Solution>
<Configurations>
<Platform Name="Any CPU" />
</Configurations>
<Folder Name="/.github/">
<File Path=".github/dependabot.yml" />
<File Path=".github/labels.yml" />
<File Path=".github/labeler.yml" />
</Folder>
<Folder Name="/.github/workflows/">
<File Path=".github/workflows/build-deploy-docs.yml" />
<File Path=".github/workflows/conventional-commits.yml" />
<File Path=".github/workflows/labeler.yml" />
<File Path=".github/workflows/sync-labels.yml" />
</Folder>
<Folder Name="/Solution Items/">
<File Path=".editorconfig" />
<File Path="README.md" />
<File Path=".gitignore" />
<File Path="src/Directory.Build.props" />
<File Path="src/Directory.Build.targets" />
<File Path="src/Directory.Packages.props" />
<File Path="global.json" />
<File Path="cspell.json" />
</Folder>
<Project Path="src/DevTKSS.Extensions.Uno.Storage/DevTKSS.Extensions.Uno.Storage.csproj" />
<Project Path="src/DevTKSS.Uno.Samples.MvuxGallery/DevTKSS.Uno.Samples.MvuxGallery.csproj" />
<Project Path="src/DevTKSS.Uno.XamlNavigationApp/DevTKSS.Uno.XamlNavigationApp.csproj" />
</Solution>
17 changes: 13 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,24 @@ A complete tutorial application demonstrating navigation patterns with MVUX and

#### Tutorial Content

- **[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)!
- **[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)
- **[Video Tutorial Series](https://youtube.com/playlist?list=PLEL6kb4Bivm_g81iKBl-f0eYPNr5h2dFX)** - Complete walkthrough (🇩🇪 German with English subtitles)
- **[Source Code](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/tree/master/src/DevTKSS.Uno.XamlNavigationApp/)** - Browse the implementation

**Available Resources:**

- [Uno.Extensions.Reactive (MVUX)](https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Mvux/Overview.html)
- [Uno.Extensions.Navigation](https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Navigation/NavigationOverview.html)
- [XAML Markup Navigation](https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Navigation/HowTo-NavigateInXAML.html)
- [IRouteNotifier](https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Navigation/Advanced/HowTo-IRouteNotifier.html)

**Available Resources:**
### Simple Member Selection App

- **[Tutorial Documentation](https://devtkss.github.io/DevTKSS.Uno.SampleApps/articles/en/Navigation/Extensions-Navigation-en.html)** - Step-by-step guide (🇩🇪 German | 🇬🇧 English)
- **[Video Tutorial Series](https://youtube.com/playlist?list=PLEL6kb4Bivm_g81iKBl-f0eYPNr5h2dFX)** - Complete walkthrough (🇩🇪 German with English subtitles)
- **[Source Code](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/tree/master/src/DevTKSS.Uno.XamlNavigationApp-1/)** - Browse the implementation
A basic application demonstrating selection and display of member names in a `ListView` bound to a `ListState<string>` in the Model using MVUX.

- **[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)
- **[Source Code](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/tree/master/src/DevTKSS.Uno.SimpleMemberSelectionApp/)**

---

Expand Down
2 changes: 1 addition & 1 deletion docs/articles/de/Introduction-de.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Hier ein schneller Überblick über die enthaltenen Samples. Detaillierte Infos
### XamlNavigationApp (Mvux)

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

---

Expand Down
10 changes: 8 additions & 2 deletions docs/articles/de/Navigation/Extensions-Navigation-de.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,13 @@ Lass uns zuerst einmal schauen, was man beispielsweise in einer Xaml-basierten U

## Voraussetzungen

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:
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:

```bash
uno-check --tfm net9.0-desktop`
```

Hier kannst du bei Bedarf auch noch einmal nachschauen:

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

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

---

- [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)
- [Hier geht's zum Source Code der verwendeten Beispiel Anwendung XamlNavigationApp](https://github.com/DevTKSS/DevTKSS.Uno.SampleApps/blob/master/src/DevTKSS.Uno.XamlNavigationApp)

### Uno Dokumentation Links

Expand Down
4 changes: 2 additions & 2 deletions docs/articles/de/Navigation/HowTo-ChangeRoutes-de.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ Solltest du das noch nicht gemacht haben, dann geht das jetzt ganz einfach auch

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:

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

**Was passiert hier?**

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

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

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

## Links zur Uno Documentation

Expand Down
42 changes: 24 additions & 18 deletions docs/articles/de/Navigation/HowTo-Defining-UI-NavigationView-de.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ uid: DevTKSS.Uno.ExtensionsNavigation.HowTo-Defining-UI.de

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

**Was zuvor geschah...**
**Was wir zuvor gemacht haben**

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!

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

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.

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

## Implementierung der NavigationView

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

```diff
<Grid uen:Region.Attached="True"
utu:SafeArea.Insets="VisibleBounds">
<Grid.RowDefinitions>
utu:SafeArea.Insets="VisibleBounds">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<NavigationView uen:Region.Attached="True"
Header="{Binding Title}"
IsPaneToggleButtonVisible="True"
PaneDisplayMode="Auto">
<NavigationView.MenuItems>
</Grid.RowDefinitions>

<NavigationView uen:Region.Attached="True"
Header="{Binding Title}"
IsPaneToggleButtonVisible="True"
PaneDisplayMode="Auto">

<NavigationView.MenuItems>
<NavigationViewItem Content="Home"
+ uen:Region.Name="Dashboard"
Icon="Home" />
<NavigationViewItem Content="Some View"
+ uen:Region.Name="Second"
Icon="AddFriend" />
</NavigationView.MenuItems>
<NavigationView.Content>
<Grid uen:Region.Attached="True" />
</NavigationView.Content>
</NavigationView>
</NavigationView.MenuItems>

<NavigationView.Content>
<Grid uen:Region.Attached="True" />
</NavigationView.Content>

</NavigationView>

</Grid>
```

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.
Expand All @@ -118,8 +124,8 @@ Nun wollen wir die von der Extension ermöglichten Eigenschaften, sogenannte `At

```diff
<NavigationView.Content>
<Grid uen:Region.Attached="True"
+ uen:Region.Navigator="Visibility"
<Grid uen:Region.Attached="True"
+ uen:Region.Navigator="Visibility"
Visibility="Visible" />
</NavigationView.Content>
```
Expand All @@ -137,7 +143,7 @@ Nun wollen wir die von der Extension ermöglichten Eigenschaften, sogenannte `At
*Die Namensgebung ist also keineswegs Zufall!*

>[!NOTE]
> Der "Visibility"-Navigator ist gemäß der Dokumentation verfügbare Bezeichner für diese Eigenschaft.
> 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).

## Nächste Schritte

Expand Down
Loading