#### Hot Design
@@ -82,4 +82,4 @@ Use a visual designer to design and develop the app
-[!include[getting-help](includes/getting-help.md)]
+[!include[getting-help](xref:Uno.Development.GettingHelp)]
diff --git a/doc/articles/guides/how-to-create-control-libraries.md b/doc/articles/guides/how-to-create-control-libraries.md
index f1c4e8358f95..26fda52d3f3f 100644
--- a/doc/articles/guides/how-to-create-control-libraries.md
+++ b/doc/articles/guides/how-to-create-control-libraries.md
@@ -108,7 +108,7 @@ In a Control Class Library, [conditional XAML](xref:Uno.Development.PlatformSpec
## Library assets
-WinUI 3 and Uno Platform (4.6 and later) Libraries support the inclusion of content assets to be used with [`StorageFile.GetFileFromApplicationUriAsync`](../features/file-management.md#support-for-storagefilegetfilefromapplicationuriasync), as well as with the `ms-appx:///[libraryname]/[assetname_file_name]` format.
+WinUI 3 and Uno Platform (4.6 and later) Libraries support the inclusion of content assets to be used with [`StorageFile.GetFileFromApplicationUriAsync`](xref:Uno.Features.FileManagement#support-for-storagefilegetfilefromapplicationuriasync), as well as with the `ms-appx:///[libraryname]/[assetname_file_name]` format.
> [!IMPORTANT]
> When using library assets with non-WinAppSDK targets, the library name should also be lower cased.
@@ -129,4 +129,4 @@ In both cases, for the build system to include the assets files, the following p
```
> [!IMPORTANT]
-> WinAppSDK [does not support assets](https://github.com/microsoft/microsoft-ui-xaml/issues/6429) if the application is using the MSIX package mode. To use the unpackaged mode, [see this article](../features/winapp-sdk-specifics.md#unpackaged-application-support).
+> WinAppSDK [does not support assets](https://github.com/microsoft/microsoft-ui-xaml/issues/6429) if the application is using the MSIX package mode. To use the unpackaged mode, [see this article](xref:Uno.Features.WinAppSDK#un-packaged-application-support).
diff --git a/doc/articles/includes/clean-architecture-principles-inline.md b/doc/articles/includes/clean-architecture-principles-inline.md
new file mode 100644
index 000000000000..458a1407841f
--- /dev/null
+++ b/doc/articles/includes/clean-architecture-principles-inline.md
@@ -0,0 +1,5 @@
+---
+uid: Uno.Clean-Architecture-Inline
+---
+
+[Clean Architecture principles](https://devblogs.microsoft.com/ise/next-level-clean-architecture-boilerplate)
diff --git a/doc/articles/includes/use-uno-check-inline-windows-noheader.md b/doc/articles/includes/use-uno-check-inline-windows-noheader.md
index 85c10aa81628..e8f43ec9f746 100644
--- a/doc/articles/includes/use-uno-check-inline-windows-noheader.md
+++ b/doc/articles/includes/use-uno-check-inline-windows-noheader.md
@@ -1,3 +1,6 @@
+---
+uid: Uno.uno-check-inline.Windows
+---
1. Open a command-line prompt, Windows Terminal if you have it installed, or else Command Prompt or Windows Powershell from the Start menu.
1. Setup uno.check by:
diff --git a/doc/articles/studio/Hot Design/Assets/logo.svg b/doc/articles/studio/Hot Design/Assets/logo.svg
new file mode 100644
index 000000000000..8ffc41ae3a5d
--- /dev/null
+++ b/doc/articles/studio/Hot Design/Assets/logo.svg
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/articles/toc.yml b/doc/articles/toc.yml
index 565104fdc844..89c4789e09e6 100644
--- a/doc/articles/toc.yml
+++ b/doc/articles/toc.yml
@@ -10,7 +10,7 @@
href: xref:Uno.GetStarted.vscode
- name: Rider
href: xref:Uno.GetStarted.Rider
-
+
- name: Create an App
topicHref: xref:Uno.GettingStarted.CreateAnApp.VS2022
items:
@@ -67,6 +67,8 @@
href: xref:Uno.Development.Troubleshooting
- name: Build error codes
href: xref:Build.Solution.error-codes
+ - name: Troubleshooting source generation
+ href: xref:Uno.Development.Troubleshooting.SourceGeneration
- name: Samples & Tutorials
topicHref: xref:Uno.SamplesTutorials.Overview
@@ -155,20 +157,20 @@
- name: Architecture
items:
- name: Supported Platforms
- href: getting-started/requirements.md
+ href: xref:Uno.GettingStarted.Requirements
items:
- name: .NET Versions
href: net-version-support.md
- name: Working with Skia Desktop
href: xref:Uno.Skia.Desktop
- name: Working with the Linux Framebuffer
- href: features/using-linux-framebuffer.md
+ href: xref:Uno.Skia.Linux.Framebuffer
- name: Philosophy
- href: concepts/overview/philosophy-of-uno.md
+ href: xref:Uno.Overview.Philosophy
- name: How Uno Works
- href: how-uno-works.md
+ href: xref:Uno.Development.HowItWorks
- name: Best practices
- href: best-practices-uno.md
+ href: xref:Uno.Development.BestPractices
- name: Authoring
items:
@@ -181,9 +183,9 @@
- name: Creating Custom Controls
href: guides/creating-custom-controls.md
- name: Control Libraries
- href: guides/how-to-create-control-libraries.md
+ href: xref:Guide.HowTo.Create-Control-Library
- name: Adding New Platforms
- href: guides/how-to-add-platforms-existing-project.md
+ href: xref:Uno.Guides.AddAdditionalPlatforms
- name: Getting Started With Tests
href: xref:Uno.Authoring.Tests
- name: Logging
@@ -197,14 +199,14 @@
- name: Legacy Topics
items:
- name: Working with Skia+GTK
- href: features/using-skia-gtk.md
+ href: xref:Uno.Skia.Gtk
- name: Debugging
items:
- name: How to create a repro sample
href: uno-howto-create-a-repro.md
- name: 'Debugging C# on WASM'
- href: debugging-wasm.md
+ href: xref:Uno.Development.DebuggingWasm
- name: VS Code Advanced Mobile Debugging
href: xref:uno.vscode.mobile.advanced.debugging
- name: Generic Unhandled Exceptions handler
@@ -215,10 +217,10 @@
- name: Embedding
items:
- name: Uno Platform in WPF
- href: guides/uno-islands.md
+ href: xref:Uno.Tutorials.UnoIslands
- name: Native Views with Mobile
- href: native-views.md
- - name: Native Views with Skia
+ href: xref:Uno.Development.NativeViews
+ - name: Native Views with Skia
href: xref:Uno.Skia.Embedding.Native
- name: Upgrading
@@ -262,7 +264,7 @@
- name: General guidance
href: migrating-guidance.md
- name: Silverlight
- topicHref: guides/silverlight-migration/silverlight-migration-landing.md
+ topicHref: xref:Uno.SilverlightMigration.Landing
href: guides/silverlight-migration/toc.yml
- name: Publishing
@@ -311,110 +313,129 @@
- name: IL Linker for WebAssembly
href: xref:uno.articles.features.illinker
- name: Working with String Resource Trimming
- href: features/upri-trimming.md
+ href: xref:Uno.Features.StringResourceTrimming
- name: Working with XAML Trimming
- href: features/resources-trimming.md
+ href: xref:Uno.Features.ResourcesTrimming
- name: Error Monitoring & Crash Reporting with Raygun
href: xref:Monitoring.Raygun
- name: Contributing
items:
- name: Overview
- href: uno-development/contributing-intro.md
+ href: xref:Uno.Contributing.Intro
- name: Code of Conduct
- href: https://github.com/unoplatform/uno/blob/master/CODE_OF_CONDUCT.md
+ href: ../../CODE_OF_CONDUCT.md
- name: Ways to contribute
- href: uno-development/ways-to-contribute.md
+ href: xref:Uno.Contributing.WaysToContribute
- name: How Uno works
+ href: xref:Uno.Contributing.Internals.Overview
items:
- name: Overview
- href: uno-development/uno-internals-overview.md
+ href: xref:Uno.Contributing.Overview
- name: Android
- href: uno-development/uno-internals-android.md
+ href: xref:Uno.Contributing.Android
- name: Layouting in Android
- href: uno-development/Uno-UI-Layouting-Android.md
+ href: xref:Uno.Contributing.Layouting.Android
- name: iOS
- href: uno-development/uno-internals-ios.md
+ href: Uno.Contributing.iOS
- name: Layouting in iOS
- href: uno-development/Uno-UI-Layouting-iOS.md
+ href: xref:Uno.Contributing.Layouting.iOS
- name: WASM
- href: uno-development/uno-internals-wasm.md
+ href: xref:Uno.Contributing.Wasm
- name: macOS
- href: uno-development/uno-internals-macos.md
+ href: xref:Uno.Contributing.macOS
- name: DependencyProperty backing generator
- href: uno-development/Internal-DependencyProperty-Generator.md
+ href: xref:Uno.Contributing.DependencyPropertyGenerator
- name: x:Bind in Uno Platform
- href: uno-development/Uno-UI-xBind-architecture.md
+ href: xref:Uno.Contributing.xBind
- name: ListViewBase
- href: uno-development/listviewbase-internals.md
+ href: xref:Uno.Contributing.ListViewBase
- name: ThemeResource
- href: uno-development/themeresource-internals.md
+ href: xref:Uno.Contributing.ThemeResource
- name: InteractionTracker internals
- href: uno-development/interaction-tracker-internals.md
- - name: Building Uno.UI
- href: uno-development/building-uno-ui.md
- - name: Debugging Uno.UI
- href: uno-development/debugging-uno-ui.md
- - name: Building Uno.UI for macOS using Visual Studio for Mac
- href: uno-development/building-uno-macos.md
- - name: Using Codespaces
- href: features/working-with-codespaces.md
- - name: Using Gitpod
- href: features/working-with-gitpod.md
- - name: Inspecting the visual tree
- href: uno-development/debugging-inspect-visual-tree.md
- - name: Guidelines for code style
- href: contributing/guidelines/code-style.md
- - name: Using the SamplesApp
- href: uno-development/working-with-the-samples-apps.md
+ href: xref:Uno.Contributing.InteractionTracker
+ - name: Guidelines for Contributing Documentation
+ items:
+ - name: Adding documentation
+ href: xref:Uno.Contributing.Docs
+ - name: DocFX
+ href: xref:Uno.Contributing.DocFx
+ - name: Toc Checker
+ href: xref:Uno.Contributing.check-toc.Overview
+ items:
+ - name: Overview
+ href: xref:Uno.Contributing.check-toc.Overview
+ - name: How-To Use the TOC Checker
+ href: xref:Uno.Contributing.check-toc.Guide
+ - name: Utility Functions for the TOC Checker
+ href: xref:Uno.Contributing.check-toc.Utilities
+ - name: Contributing to Uno.UI
+ topicHref: xref:Uno.Contributing.BuildingUno
+ items:
+ - name: Building Uno.UI
+ href: xref:Uno.Contributing.BuildingUno
+ - name: Debugging Uno.UI
+ href: xref:Uno.Contributing.DebuggingUno
+ - name: Building Uno.UI for macOS using Visual Studio for Mac
+ href: xref:Uno.Contributing.BuildingUno.macOS
+ - name: Guidelines for code style
+ href: xref:Uno.Contributing.CodeStyle
+ - name: Git
+ href: xref:Uno.Contributing.Source-Control
+ items:
+ - name: Source Control Overview
+ href: xref:Uno.Contributing.Source-Control
+ - name: Using Codespaces
+ href: xref:Uno.Features.Codespaces
+ - name: Using Gitpod
+ href: xref:Uno.Features.Gitpod
- name: Guidelines for creating tests
+ href: xref:Uno.Contributing.Tests.CreatingTests
items:
- name: Overview
- href: contributing/guidelines/creating-tests.md
+ href: xref:Uno.Contributing.Tests.CreatingTests
- name: Mocked unit tests (Uno.UI.Tests)
- href: uno-development/creating-mocked-tests.md
+ href: xref:Uno.Contributing.Tests.Creating-mocked-tests.md
- name: Platform-runtime unit tests (Uno.UI.RuntimeTests)
- href: uno-development/creating-runtime-tests.md
+ href: xref:Uno.Contributing.Tests.CreateRuntimeTests
- name: UI tests with Uno.UITest
- href: uno-development/creating-ui-tests.md
- - name: Debugging Solution Templates
- href: uno-development/debugging-templates.md
- - name: Conventional Commits format
- href: uno-development/git-conventional-commits.md
- - name: Guidelines for pull-requests
- href: contributing/guidelines/pull-requests.md
- - name: Guidelines for breaking changes
- href: contributing/guidelines/breaking-changes.md
- - name: Guidelines for updating dependencies
- href: contributing/guidelines/updating-dependencies.md
- - name: Guidelines for issue triage
- href: contributing/guidelines/issue-triage.md
+ href: xref:Uno.Contributing.Tests.CreateUITests
+ - name: Testing PowerShell Scripts with Pester
+ href: xref:Uno.Contributing.Tests.PowerShell-Pester-Tests
+ - name: Using the SamplesApp
+ href: xref:Uno.Contributing.SamplesApp
+ - name: Inspecting the visual tree
+ href: xref:Uno.Contributing.InspectVisualTree
- name: Guidelines for implementing a new WinUI/WinRT feature
- href: contributing/guidelines/implementing-a-new-winui-winrt-feature.md
- - name: Adding documentation
- href: uno-development/doc-on-docs.md
- - name: DocFX
- href: uno-development/docfx.md
- - name: Uno.UI release procedure
- href: uno-development/release-procedure.md
- - name: Build Artifacts
- href: contributing/build-artifacts.md
+ href: xref:Uno.Contributing.ImplementWinUIWinRT-API
- name: Advanced topics
items:
- name: Adding functionality with API extensions
- href: uno-development/api-extensions.md
+ href: xref:Uno.Contributing.ApiExtensions
- name: The WeakEventHelper class
- href: uno-development/Internal-WeakEventHelper.md
+ href: xref:Uno.Contributing.WeakEventHelper
- name: Debugging Uno.UI Java code with Android studio
- href: uno-development/Uno-UI-Debugging-Android-Studio.md
+ href: xref:Uno.Contributing.AndroidStudio
- name: Troubleshooting Memory Issues
- href: uno-development/troubleshooting-memory-issues.md
+ href: xref:Uno.Contributing.MemoryIssues
- name: Troubleshooting Source Generation
- href: uno-development/troubleshooting-source-generation.md
+ href: xref:Uno.Contributing.SourceGeneration
- name: The XAML Trimming phase
- href: uno-development/Uno-UI-XAML-ResourceTrimming.md
+ href: xref:Uno.Contributing.XamlResourceTrimming
- name: Hot Reload internals
href: xref:Uno.Contributing.Internals.HotReload
+ - name: Guidelines for updating dependencies
+ href: xref:Uno.Contributing.UpdatingDependencies
+ - name: Breaking changes
+ href: xref:Uno.Contributing.BreakingChanges
+ - name: Release Procedure
+ href: xref:Uno.Contributing.ReleaseProcedure
+ - name: Build Artifacts
+ href: xref:Uno.Contributing.BuildArtifacts
+ - name: Guidelines for issue triage
+ href: xref:Uno.Contributing.IssueTriage
+ - name: Debugging Solution Templates
+ href: xref:Uno.Contributing.DebuggingTemplates
- name: Why use Uno Platform?
href: xref:Uno.Overview.WhyUno
- name: FAQ
@@ -459,17 +480,17 @@
- name: Uno and WinUI 3
href: uwp-vs-winui3.md
- name: WinAppSDK Specifics
- href: features/winapp-sdk-specifics.md
+ href: xref:Uno.Features.WinAppSDK
- name: WinUI links
items:
- name: Overview
- href: winui-doc-links.md
+ href: xref:Uno.Development.WinUIDoc
- name: Tutorials
- href: winui-doc-links-tutorials.md
+ href: Uno.Development.WinUITutorialsDoc
- name: Development
- href: winui-doc-links-development.md
+ href: xref:Uno.Development.WinUIDevelopmentDoc
- name: Design
- href: winui-doc-links-design.md
+ href: xref:Uno.Development.WinUIDesignDoc
- name: UI
items:
@@ -485,212 +506,212 @@
- name: Activities in Android
href: android-activities.md
- name: ComboBox
- href: controls/ComboBox.md
+ href: xref:Uno.Controls.ComboBox
- name: CommandBar
- href: controls/CommandBar.md
+ href: xref:Uno.Controls.CommandBar
- name: DatePicker
- href: controls/DatePicker.md
+ href: xref:Uno.Controls.DatePicker
- name: ElevatedView
- href: features/ElevatedView.md
+ href: xref:Uno.Features.ElevatedView
- name: Fluent icon font
- href: uno-fluent-assets.md
+ href: xref:Uno.Development.FluentAssets
- name: Flyout
- href: controls/Flyout.md
+ href: xref:Uno.Controls.Flyout
- name: Frame
- href: controls/Frame.md
+ href: xref:Uno.Controls.Frame
- name: GLCanvasElement
href: xref:Uno.Controls.GLCanvasElement
- name: Image
href: xref:Uno.Features.Image
- name: ListView and GridView
- href: controls/ListViewBase.md
+ href: xref:Uno.Controls.ListViewBase
- name: Lottie animations
- href: features/Lottie.md
+ href: xref:Uno.Features.Lottie
- name: MapControl
- href: controls/map-control-support.md
+ href: xref:Uno.Controls.MapControl
- name: MediaPlayerElement
- href: controls/MediaPlayerElement.md
+ href: xref:Uno.Controls.MediaPlayerElement
- name: MenuFlyout
- href: controls/MenuFlyout.md
+ href: xref:Uno.Controls.MenuFlyout
- name: NavigationView
- href: controls/NavigationView.md
+ href: xref:Uno.Controls.NavigationView
- name: Native control styles
- href: native-styles.md
+ href: xref:Uno.Development.NativeViews
- name: Other features
href: xref:Uno.Development.AdditionalFeatures
- name: Pivot
- href: controls/Pivot.md
+ href: xref:Uno.Controls.Pivot
- name: Popup
- href: controls/Popup.md
+ href: xref:Uno.Controls.Popup
- name: ProgressRing
- href: features/progressring.md
+ href: xref:Uno.Features.ProgressRing
- name: RefreshContainer (Pull to Refresh)
- href: controls/RefreshContainer.md
+ href: xref:Uno.Controls.RefreshContainer
- name: ScrollViewer
- href: controls/ScrollViewer.md
+ href: xref:Uno.Controls.ScrollViewer
- name: SKCanvasElement
href: xref:Uno.Controls.SKCanvasElement
- name: TextBox
- href: controls/TextBox.md
+ href: xref:Uno.Controls.TextBox
- name: TimePicker
- href: controls/TimePicker.md
+ href: xref:Uno.Controls.TimePicker
- name: ToggleSwitch
- href: controls/ToggleSwitch.md
+ href: xref:Uno.Controls.ToggleSwitch
- name: URI Protocol activation
- href: features/protocol-activation.md
+ href: xref:Uno.Features.ProtocolActivation
- name: Using pointer cursors
- href: features/cursors.md
+ href: xref:Uno.Features.Cursors
- name: Using SVG images
- href: features/svg.md
+ href: xref:Uno.Features.SVG
- name: VisibleBoundsPadding
href: xref:Uno.Features.VisibleBoundsPadding
- name: WebView (WebView2)
- href: controls/WebView.md
+ href: xref:Uno.Controls.WebView
- name: Features
items:
- name: Accessibility
- href: features/working-with-accessibility.md
+ href: xref:Uno.Features.Accessibility
- name: Animations
- href: features/working-with-animations.md
+ href: xref:Uno.Features.Animations
- name: Assets and image display
- href: features/working-with-assets.md
+ href: xref:Uno.Features.Assets
- name: Build telemetry
- href: uno-toolchain-telemetry.md
+ href: xref:Uno.Development.ToolchainTelemetry
- name: Composition API
- href: composition.md
+ href: xref:Uno.Development.Composition
- name: Dialogs
- href: features/dialogs.md
+ href: xref:Uno.Features.Dialogs
- name: Fluent styles
- href: features/fluent-styles.md
+ href: xref:Uno.Features.FluentStyles
- name: Focus management
- href: features/focus-management.md
+ href: xref:Uno.Features.FocusManagement
- name: Fonts
- href: features/custom-fonts.md
+ href: xref:Uno.Features.CustomFonts
- name: Markup Extensions
- href: features/windows-ui-markup-extensions.md
+ href: xref:Uno.Features.WinUIMarkupExtension
- name: Native frame navigation
- href: features/native-frame-nav.md
+ href: xref:Uno.Features.NativeFrameNav
- name: Orientation
- href: features/orientation.md
+ href: xref:Uno.Features.Orientation
- name: Routed Events
- href: features/routed-events.md
+ href: xref:Uno.Features.RoutedEvents
- name: Shapes & Brushes
- href: features/shapes-and-brushes.md
+ href: xref:Uno.Features.ShapesAndBrushes
- name: String resources and localization
- href: features/working-with-strings.md
+ href: xref:Uno.Features.Localization
- name: Succinct syntax
- href: features/windows-ui-succinct-syntax.md
+ href: xref:Uno.Features.WinUISuccinctSyntax
- name: Themes
- href: features/working-with-themes.md
+ href: xref:Uno.Features.Themes
- name: User inputs - Keyboard, Pointers, Gestures, Manipulations, Drag and drop
- href: features/pointers-keyboard-and-other-user-inputs.md
+ href: xref:Uno.Features.UserInputs
- name: Using Fluent styles in legacy apps
- href: features/using-winui2.md
+ href: xref:Uno.Features.WinUI2
- name: Windowing
- href: features/windows-ui-xaml-window.md
+ href: xref:Uno.Features.WinUIWindow
- name: x:Bind
- href: features/windows-ui-xbind.md
+ href: xref:Uno.Features.WinUIxBind
- name: 3rd-party libraries
- href: supported-libraries.md
+ href: xref:Uno.Development.SupportedLibraries
- name: Non-UI
items:
- name: Accelerometer
- href: features/accelerometer.md
+ href: xref:Uno.Features.Accelerometer
- name: Android TV
- href: features/android-tv.md
+ href: xref:Uno.Features.AndroidTv
- name: App Actions
- href: features/windows-ui-startscreen.md
+ href: xref:Uno.Features.WinUIStartScreen
- name: App Close Handler
- href: features/app-close-handler.md
+ href: xref:Uno.Features.AppCloseHandler
- name: App Suspension
- href: features/windows-ui-xaml-application.md
+ href: xref:Uno.Features.WinUIApplication
- name: Application Data and Settings
- href: features/applicationdata.md
+ href: xref:Uno.Features.ApplicationData
- name: Badge Notifications
- href: features/windows-ui-notifications.md
+ href: xref:Uno.Features.WinUINotifications
- name: Barometer
- href: features/barometer.md
+ href: xref:Uno.Features.Barometer
- name: Battery Information
- href: features/windows-system-power.md
+ href: xref:Uno.Features.WSPower
- name: Bluetooth
- href: features/bluetoothdevice.md
+ href: xref:Uno.Features.BluetoothDevice
- name: Capture (Camera)
- href: features/windows-media-capture.md
+ href: xref:Uno.Features.Capture
- name: Clipboard
- href: features/clipboard.md
+ href: xref:Uno.Features.Clipboard
- name: Compass
- href: features/compass.md
+ href: xref:Uno.Features.Compass
- name: Contacts
- href: features/windows-applicationmodel-contacts.md
+ href: xref:Uno.Features.WAMContacts
- name: Credential Storage
- href: features/PasswordVault.md
+ href: xref:Uno.Features.PasswordVault
- name: Device Enumeration
- href: features/windows-devices-enumeration.md
+ href: xref:Uno.Features.WDEnumeration
- name: Device Information
- href: features/windows-system-profile.md
+ href: xref:Uno.Features.WSProfile
- name: E-mail
- href: features/windows-applicationmodel-email.md
+ href: xref:Uno.Features.WAMEmail
- name: File and Folder Pickers
- href: features/windows-storage-pickers.md
+ href: xref:Uno.Features.WSPickers
- name: File Management
- href: features/file-management.md
+ href: xref:Uno.Features.FileManagement
- name: Flashlight
- href: features/flashlight.md
+ href: xref:Uno.Features.Flashlight
- name: Gamepad
- href: features/gamepad.md
+ href: xref:Uno.Features.Gamepad
- name: Geolocation (GPS)
- href: features/windows-devices-geolocation.md
+ href: xref:Uno.Features.WDGeolocation
- name: Gyrometer
- href: features/gyrometer.md
+ href: xref:Uno.Features.Gyrometer
- name: Haptics
- href: features/windows-devices-haptics.md
+ href: xref:Uno.Features.WDHaptics
- name: Hardware back button
- href: features/hardware-back-button.md
+ href: xref:Uno.Features.HardwareBackButton
- name: Keeping Screen On
- href: features/windows-system-display.md
+ href: xref:Uno.Features.WSDisplay
- name: Light Sensor
- href: features/lightsensor.md
+ href: xref:Uno.Features.LightSensor
- name: Magnetometer
- href: features/magnetometer.md
+ href: xref:Uno.Features.Magnetometer
- name: MIDI
- href: features/windows-devices-midi.md
+ href: xref:Uno.Features.WDMidi
- name: Network Information
- href: features/windows-networking.md
+ href: xref:Uno.Features.WNetworking
- name: Orientation Sensor
- href: features/orientation-sensor.md
+ href: xref:Uno.Features.OrientationSensor
- name: Package Information
- href: features/windows-applicationmodel.md
+ href: xref:Uno.Features.WAM
- name: Phone Calls
- href: features/windows-applicationmodel-calls.md
+ href: xref:Uno.Features.WAMCalls
- name: Proximity Sensor
- href: features/proximity-sensor.md
+ href: xref:Uno.Features.ProximitySensor
- name: Settings
href: features/settings.md
- name: Sharing
- href: features/windows-applicationmodel-datatransfer.md
+ href: xref:Uno.Features.WAMDataTransfer
- name: SMS
- href: features/windows-applicationmodel-chat.md
+ href: xref:Uno.Features.WAMChat
- name: Speech Recognition
- href: features/SpeechRecognition.md
+ href: xref:Uno.Features.SpeechRecognition
- name: Step Counter
- href: features/step-counter.md
+ href: xref:Uno.Features.StepCounter
- name: Store Context
- href: features/windows-ui-storecontext.md
+ href: xref:Uno.Features.StoreContext
- name: Title Bar Customization
- href: features/windows-ui-viewmanagement.md
+ href: xref:Uno.Features.WinUIViewManagement
- name: URI Launcher
- href: features/windows-system.md
+ href: xref:Uno.Features.WS
- name: Vibration
- href: features/windows-phone-devices-notification-vibrationdevice.md
+ href: xref:Uno.Features.WPDNotification
- name: Wallpaper and Lock Screen
- href: features/windows-system-userprofile.md
+ href: xref:Uno.Features.WSUserProfile
- name: Web Authentication Broker
- href: features/web-authentication-broker.md
+ href: xref:Uno.Features.WAB
- name: Working with cookies
- href: features/working-with-cookies.md
+ href: xref:Uno.Features.Cookies
- name: Extensions
# topicHref: external/uno.extensions/doc/ExtensionsOverview.md
@@ -722,7 +743,7 @@
href: xref:Uno.vscode.additional
- name: C# Dev Kit Support
href: xref:Uno.GetStarted.vscode.DevKit
- - name: Omnisharp Support
+ - name: OmniSharp Support
href: xref:Uno.GetStarted.vscode.OmniSharp
- name: Rider
items:
@@ -731,8 +752,8 @@
- name: Templates
items:
- name: Visual Studio Wizard
- href: getting-started/wizard/using-wizard.md
+ href: Uno.GettingStarted.UsingWizard
- name: dotnet new Templates
- href: get-started-dotnet-new.md
+ href: xref:Uno.GetStarted.dotnet-new
- name: Get started wizard
href: xref:Uno.GetStarted.Wizard
diff --git a/doc/articles/Uno-UI-Performance.md b/doc/articles/uno-development/Uno-UI-Performance.md
similarity index 100%
rename from doc/articles/Uno-UI-Performance.md
rename to doc/articles/uno-development/Uno-UI-Performance.md
diff --git a/doc/articles/uno-development/Uno-UI-XAML-ResourceTrimming.md b/doc/articles/uno-development/Uno-UI-XAML-ResourceTrimming.md
index b73167dadaa5..9f9fdf402a0e 100644
--- a/doc/articles/uno-development/Uno-UI-XAML-ResourceTrimming.md
+++ b/doc/articles/uno-development/Uno-UI-XAML-ResourceTrimming.md
@@ -4,7 +4,7 @@ uid: Uno.Contributing.XamlResourceTrimming
# XAML Resource Trimming
-This document provides technical details about the [XAML Resource trimming phase](../features/resources-trimming.md).
+This document provides technical details about the [XAML Resource trimming phase](xref:Uno.Features.ResourcesTrimming).
## Technical Details
@@ -35,7 +35,7 @@ As of Uno 3.9, the Uno.UI WebAssembly assembly is 7.5MB, trimmed down to 3.1MB f
## Using the `AdditionalLinkerHintAttribute` attribute
-In some scenarios (e.g. ExpandoObject), it may be needed to generate linker hints for non-DependencyObject types.
+In some scenarios (e.g. [ExpandoObject](https://learn.microsoft.com/en-us/dotnet/api/system.dynamic.expandoobject?view=net-9.0)), it may be needed to generate linker hints for non-DependencyObject types.
To get a `__LinkerHints` property for an additional type, add the following in AssemblyInfo.cs:
diff --git a/doc/articles/android-activities.md b/doc/articles/uno-development/android-activities.md
similarity index 100%
rename from doc/articles/android-activities.md
rename to doc/articles/uno-development/android-activities.md
diff --git a/doc/articles/uno-development/building-uno-macos.md b/doc/articles/uno-development/building-uno-macos.md
deleted file mode 100644
index 72c3be78041d..000000000000
--- a/doc/articles/uno-development/building-uno-macos.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-uid: Uno.Contributing.BuildingUnomacOS
----
-
-# Building Uno.UI for macOS using Visual Studio for Mac
-
-Building Uno.UI for the macOS platform using vs4mac requires Visual Studio for Mac 8.1 or later.
-
-Steps:
-
-* Make sure to [create the `crosstargeting_override.props` file](debugging-uno-ui.md) and set `UnoTargetFrameworkOverride` to `xamarinmac20`.
-
-* Open `Uno.UI-vs4mac.sln` to for iOS/Android/macOS heads or `Uno.UI-vs4mac-macOS-only.sln` for macOS only.
-
-* Set the `SamplesApp.macOS` project as the Startup Project.
-
-* Launch the application.
-
-Support for building the `Uno.UI` solution is still somewhat unstable, this is a list of known issues and troubleshooting steps:
-
-* You may get a message like `Error while trying to load the project '/Users/user/src/uno/build/Uno.UI.Build.csproj': Index has to be between upper and lower bound of the array.` when you open the solution. You can safely ignore this error.
-
-* If NuGet restore fails when building from the IDE, or if it gets stuck for some other reason, try building from the command line. Open a terminal session in the `uno/src` folder and use the following command:
-
- ```shell
- msbuild /m /r SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj
- ```
-
- Then reopen Visual Studio and try to launch the sample again.
-
-* If you get an error when building the `Uno.UI.Lottie` project complaining about typescript errors, you may need to install `Node.js` on your Mac. The easiest way to do this is to install the [Homebrew package manager](https://brew.sh/) and then use Homebrew to [install Node](https://changelog.com/posts/install-node-js-with-homebrew-on-os-x).
-
- **Beware: VS for Mac currently makes many unwanted "changes" to the `.csproj` files (like adding package version numbers explicitly, switching attributes to elements and vice-versa). Please do not commit these changes in your Pull Requests.**
-
-* Make sure to apply the workarounds specified in https://github.com/unoplatform/uno/issues/3609, otherwise VS4Mac will fail to load the solution.
-* In order to successfully debug an external application, use [cross-targeting overrides](building-uno-ui.md#building-unoui-for-a-single-target-platform) and make sure to enable "Step into external code" in the "Projects / Debugger" options in VS4mac.
diff --git a/doc/articles/composition.md b/doc/articles/uno-development/composition.md
similarity index 100%
rename from doc/articles/composition.md
rename to doc/articles/uno-development/composition.md
diff --git a/doc/articles/uno-development/debugging-inspect-visual-tree.md b/doc/articles/uno-development/debugging-inspect-visual-tree.md
index 0b271f3ba3ea..0d9a3cfabec9 100644
--- a/doc/articles/uno-development/debugging-inspect-visual-tree.md
+++ b/doc/articles/uno-development/debugging-inspect-visual-tree.md
@@ -1,20 +1,24 @@
---
uid: Uno.Contributing.InspectVisualTree
---
+
+
# Inspecting the runtime visual tree of an Uno app
Often the first step in debugging a UI bug is to scrutinize the application's visual tree. The visual tree is derived from the app's layout defined in XAML, but there's not a straightforward 1-to-1 mapping from XAML to runtime visual tree, due to templating, view manipulation in code, etc. Also, by definition if you're getting a UI bug then there's a discrepancy between what you expect based on the XAML and code and the behavior you're actually observing. Don't live in suspense – check the visual tree!
-Tools for inspecting the visual tree differ by platform.
+## Inspection Tools per Platform
-## UWP
+Tools for inspecting the visual tree differ by platform:
-UWP has by far the easiest and most convenient experience for debugging the visual tree. The small black toolbar at the top center of your app during debugging enable buttons to go to the Live Visual Tree view, directly select a visual element for inspection, and show layouting decorations. The complement to the Live Visual Tree is the Live Property Explorer, which allows you to inspect current values for any property of a view, and even change some of them on the fly.
+# [UWP and WinUI](#tab/uwp-winui)
+
+UWP and WinUI having by far the easiest and most convenient experience for debugging the visual tree. The small black toolbar at the top center of your app during debugging enable buttons to go to the Live Visual Tree view, directly select a visual element for inspection, and show layouting decorations. The complement to the Live Visual Tree is the Live Property Explorer, which allows you to inspect current values for any property of a view, and even change some of them on the fly.

-## Android
+# [Android](#tab/android)
There are a couple of options for viewing the visual tree of an Uno app running on Android.
@@ -26,7 +30,7 @@ The other approach is to use the [Stetho package](https://www.nuget.org/packages
Unfortunately neither of these approaches give you an easy way to inspect properties defined on UIElement, FrameworkElement, and other managed types. You can however look at native properties to obtain information like layout size, opacity, etc.
-## iOS
+# [iOS](#tab/ios)
In principle it's possible to use Xcode's 'Debug View Hierarchy' feature on any iOS app, including Uno apps. The steps are the following:
@@ -34,12 +38,12 @@ In principle it's possible to use Xcode's 'Debug View Hierarchy' feature on any
2. Create a dummy iOS app (or open an existing one) - you won't actually run this app.
3. Run the app whose layout you wish to inspect.
4. Set the device or simulator you're using as the active device in the upper toolbar.
-5. Select Debug -> Attach to Process -> [name of the app]
+5. Select Debug -> Attach to Process -> `[name of the app]`
6. Once the debugger has successfully attached, select Debug -> View Debugging -> Capture View Hierarchy.
In practice, Xcode is somewhat temperamental, and this approach may fail for some apps. It's recommended to fall back on the breakpoint-based inspection method described below.
-## Web
+# [Web](#tab/web)
For an Uno.WASM app you can simply use the layout inspection tools built into whatever browser you're using. For example, for Chrome, open the 'Developer tools' panel (`F12`) and select the 'Elements' tab, or just right-click any element in the visual tree and choose 'Inspect.'
@@ -58,13 +62,15 @@ You can configure Uno to annotate the DOM with the values of common XAML propert
**Note:** for performance reasons, if a _release build_ of Uno.UI is used, `AssignDOMXamlProperties` will only display the values of properties as they were when the element was loaded - that is, they may be stale in some cases. If a _debug build_ of Uno.UI is used, this limitation is lifted and the DOM annotation will reflect the most up-to-date values.
+---
+
## Retrieving the visual tree through code or at a breakpoint (Android/iOS/WebAssembly/macOS)
It's common enough when debugging Uno to be at a breakpoint and want to quickly know exactly where the view is in the visual tree, that we added a helper method.
-If you're using a debug build of Uno, this is directly available on UIElement as the `public string ShowLocalVisualTree(int fromHeight)` method (for ease of use in the watch window). If you're using the release version of Uno, the same method is available as an extension in UIKit.UIViewExtensions for iOS or Uno.UI.ViewExtensions for Android.
+If you're using a debug build of Uno, this is directly available on UIElement as the `public string ShowLocalVisualTree(int fromHeight)` method (for ease of use in the watch window). If you're using the release version of Uno, the same method is available as an extension in `UIKit.UIViewExtensions` for iOS or `Uno.UI.ViewExtensions` for Android.
-The method returns the visual tree from a certain 'height' above the target element as an indented string. So if you call ShowLocalVisualTree(2), you'll get the visual subtree from the target element's grandparent down. If you call ShowLocalVisualTree(100), you'll almost certainly get the entire visual tree starting from the root element. The original target is picked out with an asterisk (*) so you can find it.
+The method returns the visual tree from a certain 'height' above the target element as an indented string. So if you call `ShowLocalVisualTree(2)`, you'll get the visual subtree from the target element's grandparent down. If you call `ShowLocalVisualTree(100)`, you'll almost certainly get the entire visual tree starting from the root element. The original target is picked out with an asterisk (*) so you can find it.

@@ -88,7 +94,7 @@ The advantage of this over `ShowLocalVisualTree` is the ability to customize the
> For more examples of control details, check out these source files:
>
> - [`DebugVTNode\GetDetails()` method in Toolkit](https://github.com/unoplatform/uno.toolkit.ui/blob/main/src/Uno.Toolkit.UI/Helpers/VisualTreeHelperEx.cs)
-> - [`DescribeVTNode\GetDetails()` method in Uno](https://github.com/unoplatform/uno/blob/master/src/Uno.UI/Extensions/ViewExtensions.visual-tree.cs)
+> - [`DescribeVTNode\GetDetails()` method in Uno](../../../src/Uno.UI/Extensions/ViewExtensions.visual-tree.cs)
```csharp
var tree = this.TreeGraph(Describe);
diff --git a/doc/articles/debugging-wasm.md b/doc/articles/uno-development/debugging-wasm.md
similarity index 89%
rename from doc/articles/debugging-wasm.md
rename to doc/articles/uno-development/debugging-wasm.md
index f53e136a6524..2a078fb6a43f 100644
--- a/doc/articles/debugging-wasm.md
+++ b/doc/articles/uno-development/debugging-wasm.md
@@ -13,7 +13,7 @@ There are two ways to debug a WebAssembly application:
Here’s what you need to do to debug an Uno Platform application in Visual Studio (2022 17.1 or later):
-- Install the latest [Uno Platform Visual Studio templates](./get-started-vs-2022.md#install-the-solution-templates)
+- Install the latest [Uno Platform Visual Studio Extension](getting-started/get-started-vs-2022.md#install-the-uno-platform-extension)
- Have Chrome or Edge (Chromium based)
- In the NuGet Package Manager, update `Uno.Wasm.Bootstrap` and `Uno.Wasm.Bootstrap.DevServer` 8.0.0 or later
- Ensure that `
true ` is set in your csproj. It is automatically set [when using the Uno.SDK](xref:Uno.Features.Uno.Sdk).
@@ -48,16 +48,16 @@ To debug your application:
- Select **MyApp (WebAssembly IIS Express)** as the debugging target
- Select **Chrome** or **Microsoft Edge** as the Web Browser
- Make sure script debugging is disabled
- 
+ 
- Start the debugging session using
Ctrl F5 or _Debug_ > _Start Without Debugging_ from the menu, (
F5 will work, but the debugging experience won't be in Visual Studio)
- Once your application has started, press
Alt Shift D (in Chrome, on your application's tab)
- A new tab will open with the debugger or instructions to activate it
-
+
- You will now get the Chrome DevTools to open listing all the .NET loaded assemblies on the Sources tab:
-
+
- You may need to refresh the original tab if you want to debug the entry point (Main) of your application.
-
+
> ### Tips for debugging in Chrome
>
diff --git a/doc/articles/uno-development/docfx.md b/doc/articles/uno-development/docfx.md
deleted file mode 100644
index e82a778d88c4..000000000000
--- a/doc/articles/uno-development/docfx.md
+++ /dev/null
@@ -1,127 +0,0 @@
----
-uid: Uno.Contributing.DocFx
----
-
-
-
-# The Uno docs website and DocFX
-
-Uno Platform's docs website uses [DocFX](https://dotnet.github.io/docfx/) to convert Markdown files in the [articles folder](https://github.com/unoplatform/uno/tree/master/doc/articles) into [html files](xref:Uno.Documentation.Intro).
-
-## Adding to the table of contents
-
-Normally when you add a new doc file, you also add it to [articles/toc.yml](https://github.com/unoplatform/uno/blob/master/doc/articles/toc.yml). This allows it to show up in the left sidebar Table of Contents on the docs website.
-
-## DocFX-flavored Markdown
-
-DocFX supports extended Markdown syntaxes that are treated specially when converting to html.
-
-### Formatted blockquotes
-
-You can declare a [specially-styled blockquote](https://dotnet.github.io/docfx/spec/docfx_flavored_markdown.html#note-warningtipimportant) like so:
-
-```md
-> [!NOTE]
-> This is a Note, showing how to declare notes.
-```
-
-This is how it looks when converted to .html:
-
-> [!NOTE]
-> This is a Note, showing how to declare notes.
-
-Use pre-formatted blockquotes when you want to call special attention to particular information.
-
-The following note types are supported:
-
-```md
-> [!NOTE]
-> ...
-
-> [!TIP]
-> ...
-
-> [!WARNING]
-> ...
-
-> [!IMPORTANT]
-> ...
-
-> [!CAUTION]
-> ...
-
-```
-
-### Tabs
-
-DocFX can generate tabs. Make sure to follow the [syntax specification](https://dotnet.github.io/docfx/spec/docfx_flavored_markdown.html#tabbed-content) precisely.
-
-#### Example
-
-Markdown:
-
-```md
-# [WinUI](#tab/tabid-1)
-
-`Microsoft.UI.Xaml.FrameworkElement`
-
-# [UWP](#tab/tabid-2)
-
-`Windows.UI.Xaml.FrameworkElement`
-
----
-```
-
-Html output:
-
-# [WinUI](#tab/tabid-1)
-
-`Microsoft.UI.Xaml.FrameworkElement`
-
-# [UWP](#tab/tabid-2)
-
-`Windows.UI.Xaml.FrameworkElement`
-
----
-
-### TOC checker script
-
-The [`check_toc` script](https://github.com/unoplatform/uno/blob/master/doc/articles/check_toc.ps1) checks for dead links in the TOC, as well as Markdown files in the 'articles' folder that are not part of the TOC. At the moment it's not part of the CI, but contributors can run it locally and fix any bad or missing links.
-
-
-
-## Building docs website locally with DocFX
-
-Sometimes you may want to run DocFX locally to validate that changes you've made look good in html. To do so you'll first need to generate the 'implemented views' documentation.
-
-### Run DocFX locally
-
-To run DocFX locally and check the resulting html:
-
-1. Open the `Uno.UI-Tools.slnf` solution filter in the `src` folder with Visual Studio.
-2. Edit the properties of the `Uno.UwpSyncGenerator` project. Under the 'Debug' tab, set Application arguments to "doc".
-3. Set `Uno.UwpSyncGenerator` as startup project and run it. It may fail to generate the full implemented views content; if so, it should still nonetheless generate stubs so that DocFX can run successfully.
-4. Navigate to `%USERPROFILE%\.nuget\packages\docfx.console`. If you don't see the DocFX package in your NuGet cache, go back to ``Uno.UI-Tools.slnf`, right-click on the solution and choose 'Restore NuGet Packages.'
-5. Open the latest DocFX version and open the `tools` folder.
-6. Open a Powershell window in the `tools` folder.
-7. Run the following command: `.\docfx "C:\src\Uno.UI\doc\docfx.json" -o C:\src\Uno.UI\docs-local-dist`, replacing `C:\src\Uno.UI` with your local path to the Uno.UI repository.
-8. When DocFX runs successfully, it will create the html output at `C:\src\Uno.UI\docs-local-dist\_site`, which you can now view or mount on a local server.
-
-### Use a local server
-
-You can use `dotnet-serve` as a simple command-line HTTP server for example.
-
-1. Install `dotnet-serve` using the following command: `dotnet tool install --global dotnet-serve`. For more info about its usage and options,
-[please refer to the documentation](https://github.com/natemcmaster/dotnet-serve).
-2. Using the command prompt, navigate to `C:\src\Uno.UI\docs-local-dist\_site` (replacing `C:\src\Uno.UI` with your local path to the Uno.UI repository) and run the following command `dotnet serve -o -S`. This will start a simple server with HTTPS and open the browser directly.
-
-## Run the documentation generation performance test
-
-If needed, you can also run a script that will give you a performance summary for the documentation generation.
-
-To run the script on Windows:
-
-1. Make sure `crosstargeting_override.props` is not defining UnoTargetFrameworkOverride
-2. Open a Developer Command Prompt for Visual Studio (2019 or 2022)
-3. Go to the uno\build folder (not the uno\src\build folder)
-4. Run the `run-doc-generation.cmd` script; make sure to follow the instructions
diff --git a/doc/articles/how-uno-works.md b/doc/articles/uno-development/how-uno-works.md
similarity index 99%
rename from doc/articles/how-uno-works.md
rename to doc/articles/uno-development/how-uno-works.md
index 83960269629b..c431d36994f3 100644
--- a/doc/articles/how-uno-works.md
+++ b/doc/articles/uno-development/how-uno-works.md
@@ -16,7 +16,7 @@ The rest of this article discusses how the Uno.UI tooling allows WinUI-compatibl
The [`Uno.WinUI` NuGet package](https://www.nuget.org/packages/Uno.WinUI/) completely reproduces the WinUI API surface: all namespaces (`Microsoft.UI.Xaml`, `Windows.Foundation`, `Windows.Storage`, etc), all classes, all class members. Insofar as possible, the same look and behavior as on Windows are replicated on all other platforms.
-Note that, as the API surface is very large, some parts are included but not implemented. These features are marked with the `Uno.NotImplementedAttribute` attribute, and a code analyzer is included with the Uno.WinUI package will generate a warning for any such features that are referenced. You can see a complete list of supported APIs [here](implemented-views.md).
+Note that, as the API surface is very large, some parts are included but not implemented. These features are marked with the `Uno.NotImplementedAttribute` attribute, and a code analyzer is included with the Uno.WinUI package will generate a warning for any such features that are referenced. You can see a complete list of supported APIs [here](../implemented-views.md).
## How the UI is rendered
diff --git a/doc/articles/uno-development/interaction-tracker-internals.md b/doc/articles/uno-development/interaction-tracker-internals.md
index 8af44ef1427c..80e0a791d780 100644
--- a/doc/articles/uno-development/interaction-tracker-internals.md
+++ b/doc/articles/uno-development/interaction-tracker-internals.md
@@ -1,3 +1,6 @@
+---
+uid: Uno.Contributing.InteractionTracker
+---
# InteractionTracker internals
This document tries to detail and clarify the implementation of InteractionTracker.
diff --git a/doc/articles/native-styles.md b/doc/articles/uno-development/native-styles.md
similarity index 100%
rename from doc/articles/native-styles.md
rename to doc/articles/uno-development/native-styles.md
diff --git a/doc/articles/native-views.md b/doc/articles/uno-development/native-views.md
similarity index 100%
rename from doc/articles/native-views.md
rename to doc/articles/uno-development/native-views.md
diff --git a/doc/articles/supported-libraries.md b/doc/articles/uno-development/supported-libraries.md
similarity index 100%
rename from doc/articles/supported-libraries.md
rename to doc/articles/uno-development/supported-libraries.md
diff --git a/doc/articles/uno-toolchain-telemetry.md b/doc/articles/uno-development/uno-toolchain-telemetry.md
similarity index 100%
rename from doc/articles/uno-toolchain-telemetry.md
rename to doc/articles/uno-development/uno-toolchain-telemetry.md
diff --git a/doc/articles/using-uno-ui.md b/doc/articles/using-uno-ui.md
index 08873d8262da..11b5686bc0fe 100644
--- a/doc/articles/using-uno-ui.md
+++ b/doc/articles/using-uno-ui.md
@@ -69,3 +69,11 @@ Uno Platform supports a number of non-visual APIs from Windows Runtime namespace
* [Hot Reload](xref:Uno.Features.HotReload)
* [Troubleshooting build errors](uno-builds-troubleshooting.md)
* [Debugging C# on WASM](debugging-wasm.md)
+
+## IDE Specifics
+
+### Visual Studio Code
+
+* [Explore Commands and Snippets provided by the VS Code Extension](xref:Uno.vscode.additional)
+* [Common Issues VS Code](xref:Uno.UI.CommonIssues.vscode)
+* [Updating an existing application to work with VS Code](xref:Uno.vscode.additional#updating-an-existing-application-to-work-with-vs-code)
diff --git a/doc/articles/winui-doc-links-tutorials.md b/doc/articles/winui-doc-links-tutorials.md
index 707c1bf26282..b9993f876925 100644
--- a/doc/articles/winui-doc-links-tutorials.md
+++ b/doc/articles/winui-doc-links-tutorials.md
@@ -6,7 +6,7 @@ uid: Uno.Development.WinUITutorialsDoc
Uno Platform's API is derived from the WinUI application framework. Microsoft provides [extensive documentation for WinUI](https://learn.microsoft.com/windows/uwp/). Rather than duplicate all of it, here we list selected entries that are especially applicable to Uno Platform developers.
-You can work through these tutorials either as single-platform UWP applications or as multi-platform Uno Platform applications. In the latter case, when the tutorial instructs you to create a new UWP application in Visual Studio, you should create a [new Uno Platform application](get-started.md) instead.
+You can work through these tutorials either as single-platform UWP applications or as multi-platform Uno Platform applications. In the latter case, when the tutorial instructs you to create a new UWP application in Visual Studio, you should create a [new Uno Platform application](xref:Uno.GetStarted) instead.
* [Navigate between two pages](https://learn.microsoft.com/windows/uwp/design/basics/navigate-between-two-pages)
* [Create a simple weather app with Grid and StackPanel](https://learn.microsoft.com/windows/uwp/design/layout/grid-tutorial)
diff --git a/doc/articles/winui-doc-links.md b/doc/articles/winui-doc-links.md
index 1adfa709e69f..003109d53bad 100644
--- a/doc/articles/winui-doc-links.md
+++ b/doc/articles/winui-doc-links.md
@@ -6,7 +6,7 @@ uid: Uno.Development.WinUIDoc
Uno Platform's API is derived from the WinUI application framework. Microsoft provides [extensive documentation for WinUI](https://learn.microsoft.com/windows/uwp/). Rather than duplicate all of it, here we list selected entries that are especially applicable to Uno Platform developers.
-Note that some instructions may not apply when using Uno Platform. For example: some articles will instruct you to create a new UWP application in Visual Studio - you would in that case [create a new Uno Platform application](get-started.md) instead.
+Note that some instructions may not apply when using Uno Platform. For example: some articles will instruct you to create a new UWP application in Visual Studio - you would in that case [create a new Uno Platform application](xref:Uno.GetStarted) instead.
* [Tutorials](winui-doc-links-tutorials.md)
* [Development](winui-doc-links-development.md)
diff --git a/doc/blog/201809-UnoUnderTheHoodXamlGeneration.md b/doc/blog/201809-UnoUnderTheHoodXamlGeneration.md
index 2868a6c129a5..975296d8ea3e 100644
--- a/doc/blog/201809-UnoUnderTheHoodXamlGeneration.md
+++ b/doc/blog/201809-UnoUnderTheHoodXamlGeneration.md
@@ -85,5 +85,3 @@ What a mouthful! Bear in mind that generated code tends to be optimized for mach
In the normal course of Uno development you don't need to look at code generated from XAML or even know that it's there, though occasionally it's useful to take a peek when debugging.
You can see that something called `Button_Click` is subscribed to the Button's Click event. Recall that `Button_Click` is defined in [the code-behind](https://medium.com/@unoplatform/pushing-the-right-buttons-how-uno-implements-views-under-the-hood-a5e93ea86688#the-number-goes-up) in `MainPage.xaml.cs`. As far as the compiler is concerned, both the authored and generated files are just [partial definitions](https://learn.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods) of the same class.
-
-One last fun fact: when building on macOS using [Visual Studio for Mac](https://visualstudio.microsoft.com/vs/mac/) (which Uno tentatively supports in preview), Uno uses an internal port in place of the System.Xaml namespace which isn't available on Mac. The same code backs Uno's support for runtime Xaml interpretation via [Windows.UI.Xaml.Markup.XamlReader](https://learn.microsoft.com/uwp/api/windows.ui.xaml.markup.xamlreader). That in turn is used in the [interactive mode](https://github.com/unoplatform/uno.Playground/blob/master/src/Uno.Playground.Shared/Samples/Playground.xaml) of the [Uno Gallery app](https://github.com/unoplatform/uno.Playground) and [Uno.Playground website](https://playground.platform.uno/), which allows you to edit snippets of XAML and see the results in realtime. Check it out!