Skip to content

docs: Remove UWP references #20250

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
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: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ To better foster an open, innovative, and inclusive community, please refer to o

## Provide feedback

The Uno Platform is an ongoing effort, and as Microsoft progresses on UWP, the Uno platform follows the trails. While the development remained closed for a while, the areas covered by Uno may not suit everyone's needs, which is why your feedback is important to us.
The Uno Platform is an ongoing effort, and as Microsoft progresses on WinUI, the Uno platform follows the trails. While the development remained closed for a while, the areas covered by Uno may not suit everyone's needs, which is why your feedback is important to us.

We want to hear about your experience, scenarios, and requirements.

Expand All @@ -37,11 +37,11 @@ GitHub supports [Markdown](https://help.github.com/articles/github-flavored-mark

### Request a feature

If you need a [UWP feature](https://learn.microsoft.com/uwp/api/) or [WinUI feature](https://learn.microsoft.com/uwp/api/microsoft.ui.xaml.controls) that Uno doesn't support yet, you should [submit a feature request](https://github.com/unoplatform/uno/issues/new?labels=kind%2Fenhancement%2C+triage%2Funtriaged&template=enhancement.md). Check [existing issues first](https://github.com/unoplatform/uno/issues?q=is%3Aissue+is%3Aopen+label%3Akind%2Fenhancement) in case the same feature request already exists (in which case you can upvote the existing issue).
If you need a [WinUI feature](https://learn.microsoft.com/uwp/api/microsoft.ui.xaml.controls) that Uno doesn't support yet, you should [submit a feature request](https://github.com/unoplatform/uno/issues/new?labels=kind%2Fenhancement%2C+triage%2Funtriaged&template=enhancement.md). Check [existing issues first](https://github.com/unoplatform/uno/issues?q=is%3Aissue+is%3Aopen+label%3Akind%2Fenhancement) in case the same feature request already exists (in which case you can upvote the existing issue).

To help us understand and prioritize your idea, please provide as much detail about your scenario and why the feature or enhancement would be useful.

Wherever we possible we prefer to implement UWP/WinUI APIs for maximum cross-platform compatibility and existing code support, but for features/functionality not covered by UWP's API, the same feature request process applies.
Wherever we possible we prefer to implement WinUI APIs for maximum cross-platform compatibility and existing code support, but for features/functionality not covered by WinUI's API, the same feature request process applies.

### Ask (and answer) questions

Expand Down
2 changes: 1 addition & 1 deletion doc/.feature-template-uno-only.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# YourFeature

<!-- This template is for features unique to Uno, with no original UWP equivalent (eg VisibleBoundsPadding, ElevatedView). -->
<!-- This template is for features unique to Uno, with no original WinUI equivalent (eg VisibleBoundsPadding, ElevatedView). -->

* Add a short intro here

Expand Down
4 changes: 2 additions & 2 deletions doc/.feature-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# YourFeature

<!-- Leave the infotip below in place, and add a link to the UWP documentation for the feature or control you're documenting. If the feature has no UWP equivalent, you should be using the Uno-only feature template: .feature-template-uno-only.md -->
<!-- Leave the infotip below in place, and add a link to the WinUI documentation for the feature or control you're documenting. If the feature has no WinUI equivalent, you should be using the Uno-only feature template: .feature-template-uno-only.md -->

> [!TIP]
> This article covers Uno-specific information for YourFeature. For a full description of the feature and instructions on using it, see [Link text](https://learn.microsoft.com/doc_link)
Expand All @@ -21,7 +21,7 @@

## Using YourFeature with Uno

* Add any steps required to use the feature that _aren't_ covered by Microsoft's UWP documentation, i.e. because they're Uno-specific. If there are none, you can safely remove this whole section.
* Add any steps required to use the feature that _aren't_ covered by Microsoft's WinUI documentation, i.e. because they're Uno-specific. If there are none, you can safely remove this whole section.

## See YourFeature in action

Expand Down
2 changes: 1 addition & 1 deletion doc/.howto-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

* This document template is for How-tos that take the reader step by step through completing a particular task that might be encountered while developing an Uno Platform app.
* How-tos should be sufficiently detailed that a reader following along will, at the end, have a working app which demonstrates the desired end result.
* Do link to the rest of the documentation, and to the UWP documentation where appropriate.
* Do link to the rest of the documentation, and to the WinUI documentation where appropriate.
* Do link to the final working code. Normally you'll upload it to [Uno.Samples](https://github.com/unoplatform/Uno.Samples).
* If your guide ends up being very long, consider splitting it into multiple pages.
* Do place your doc in the doc/articles/guides directory. If you have multiple pages, put them in their own subdirectory.
Expand Down
2 changes: 1 addition & 1 deletion doc/articles/Uno-UI-Performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Here's what to look for:
- [`x:Phase`](https://learn.microsoft.com/windows/uwp/xaml-platform/x-phase-attribute)
- For `ListView` instances with large templates, consider the use of x:Phase to reduce the number of bindings processed during item materialization.
- It is only supported for items inside `ListViewItem` templates, it will be ignored for others.
- It is also supported as `not_win:Phase` on controls that do not have bindings. This feature is not supported by UWP.
- It is also supported as `not_win:Phase` on controls that do not have bindings. This feature is not supported by WinUI.
- It is only supported for elements under the `DataTemplate` of a `ListViewItem`. The
attribute is ignored for templates of `ContentControl` instances, or any other control.
- When binding to Brushes with a solid color, prefer binding to the `Color` property like this if the brush type does not change:
Expand Down
2 changes: 1 addition & 1 deletion doc/articles/Uno.UI.Toolkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ uid: Uno.Development.AdditionalFeatures

# Other Uno.UI Features

Uno.UI.Toolkit is a set of extension methods or behaviors used to enhance UWP and activate device/OS specific features.
Uno.UI.Toolkit is a set of extension methods or behaviors used to enhance WinUI and activate device/OS specific features.

Those methods are built to have no effect on platform that does not support the enhanced feature: no need to wrap them into conditional code.

Expand Down
4 changes: 2 additions & 2 deletions doc/articles/api-differences.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
uid: Uno.Development.ApiDifferences
---

# Differences between Uno.UI and UWP/WinUI
# Differences between Uno.UI and WinUI

Uno Platform strives to closely replicate the UWP/WinUI API on all platforms and ensure that existing WinUI code is 100% compatible with Uno. This article covers areas where Uno.UI's implementation differs, typically to better integrate with the native platform, or where the capabilities of .NET differ due to inherent limitations of the native platform.
Uno Platform strives to closely replicate the WinUI API on all platforms and ensure that existing WinUI code is 100% compatible with Uno. This article covers areas where Uno.UI's implementation differs, typically to better integrate with the native platform, or where the capabilities of .NET differ due to inherent limitations of the native platform.

This article doesn't cover parts of the API which haven't been implemented yet. You can consult a [complete list of implemented and unimplemented controls here](implemented-views.md).

Expand Down
2 changes: 1 addition & 1 deletion doc/articles/best-practices-uno.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Testing and debugging your application is easier and more rapid on some platform

1. **At the beginning of the development cycle,** you should identify key features from the Uno Platform framework and 3rd-party dependencies that you plan to use. Check that framework controls you plan to use [are implemented](implemented-views.md). Consider creating a simple proof-of-concept (POC) app covering the 'riskiest' features and testing it on all platforms you're targeting.

2. **In the middle of the development cycle,** once the major pieces are in place, when you're iterating on the UI and business logic of your application, most of your day-to-day development should focus on the easiest platform to develop on. Most of the time this will be Windows, where you can take advantage of Microsoft's excellent tooling (Live Visual Tree, XAML Hot Reload, etc) and where build times are often shortest. For this reason, it's recommended to keep the Windows (UWP or WinUI 3) head project in your solution, even if you don't plan to publish your application to Windows.
2. **In the middle of the development cycle,** once the major pieces are in place, when you're iterating on the UI and business logic of your application, most of your day-to-day development should focus on the easiest platform to develop on. Most of the time this will be Windows, where you can take advantage of Microsoft's excellent tooling (Live Visual Tree, XAML Hot Reload, etc) and where build times are often shortest. For this reason, it's recommended to keep the Windows (WinUI 3) head project in your solution, even if you don't plan to publish your application to Windows.

3. **At the end of the development cycle,** as your attention shifts to testing and fixing bugs, you'll again distribute your time more equally across all of the platforms you plan to target, ensuring that the application looks and behaves consistently everywhere.

Expand Down
2 changes: 1 addition & 1 deletion doc/articles/common-issues-all-ides.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ In this case, when `LayoutUpdated` is first fired, you add a new child to the `S

## Cannot build with both Uno.WinUI and Uno.UI NuGet packages referenced

This issue generally happens when referencing an Uno.UI (using UWP APIs) NuGet package in an application that uses Uno.WinUI (Using WinAppSDK APIs).
This issue generally happens when referencing an Uno.UI (using WinUI APIs) NuGet package in an application that uses Uno.WinUI (Using WinAppSDK APIs).

For instance, if your application has `<PackageReference Include="Uno.WinUI"` in the `csproj` files, this means that you'll need to reference WinUI versions of NuGet packages.

Expand Down
10 changes: 5 additions & 5 deletions doc/articles/controls/CommandBar.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ The height is fixed and cannot be changed.

## Extensions

Extensions are attached properties that extend the **UWP** APIs to provide platform-specific features.
Extensions are attached properties that extend the **WinUI** APIs to provide platform-specific features.

They can be found in the `Uno.UI.Toolkit` namespace.

Expand Down Expand Up @@ -308,7 +308,7 @@ Gets or sets the subtitle for the `CommandBar`.

## Placement

On **iOS**, the same `UINavigationBar` instance is shared throughout all pages. When navigating between two pages, you can see that the `UINavigationBar` doesn't move, and only its content and the pages have a transition. To get the same effect while still letting you use `CommandBar` as you would on **UWP** (as part of the `Page`), we have to do some magic. Namely, the `CommandBar` you define inside your `Page` is never actually rendered there, and only serves as a placeholder from which to read the information we need to pass to the shared `UINavigationBar` instance.
On **iOS**, the same `UINavigationBar` instance is shared throughout all pages. When navigating between two pages, you can see that the `UINavigationBar` doesn't move, and only its content and the pages have a transition. To get the same effect while still letting you use `CommandBar` as you would on **WinUI** (as part of the `Page`), we have to do some magic. Namely, the `CommandBar` you define inside your `Page` is never actually rendered there, and only serves as a placeholder from which to read the information we need to pass to the shared `UINavigationBar` instance.

To ensure everything works properly, you must follow a few rules:

Expand All @@ -328,7 +328,7 @@ On **iOS** a `CommandBarHelper` is available for this purpose, you only have to

# AppBarButton

The `AppBarButton` in **Uno** is designed to be used the same way you would use the `AppBarButton` on **UWP**. In most cases, you should refer to the [official `CommandBar` documentation](https://learn.microsoft.com/uwp/api/windows.ui.xaml.controls.appbarbutton).
The `AppBarButton` in **Uno** is designed to be used the same way you would use the `AppBarButton` on **WinUI**. In most cases, you should refer to the [official `CommandBar` documentation](https://learn.microsoft.com/uwp/api/windows.ui.xaml.controls.appbarbutton).

When `AppBarButton` is used within a native `CommandBar`, its control template is completely ignored and can't be customized.

Expand Down Expand Up @@ -414,7 +414,7 @@ Gets or sets the text description displayed on the app bar button.

#### Remarks

Unlike on **UWP**, the `Label` will not be displayed below the `Icon`.
Unlike on **WinUI**, the `Label` will not be displayed below the `Icon`.

It is only displayed on **Android** when the `AppBarButton` is displayed from the overflow (when part of `SecondaryCommands`)

Expand Down Expand Up @@ -515,7 +515,7 @@ Gets or sets a value indicating whether the user can interact with the control.

- > Why can't I overlap content over the CommandBar on iOS?

The `CommandBar` is not actually part of the `Page` on **iOS**, and you can't overlap content over it like you would on **UWP** or **Android**. Please refer to the **Placement** section for details.
The `CommandBar` is not actually part of the `Page` on **iOS**, and you can't overlap content over it like you would on **WinUI** or **Android**. Please refer to the **Placement** section for details.

- > Why is my CommandBar going into the status bar on iOS/Android?

Expand Down
2 changes: 1 addition & 1 deletion doc/articles/feature-flags.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ By default, `ToolTips` are disabled on all platforms except for WebAssembly and
Uno.UI.FeatureConfiguration.ToolTip.UseToolTips = true;
```

It is also possible to adjust the delay in milliseconds (`Uno.UI.FeatureConfiguration.ToolTip.ShowDelay` - defaults to `1000`) and show duration in milliseconds (`Uno.UI.FeatureConfiguration.ToolTip.ShowDuration` - defaults to `5000`). This configuration only applies to Uno Platform targets. Windows App SDK/UWP will not adhere to this configuration.
It is also possible to adjust the delay in milliseconds (`Uno.UI.FeatureConfiguration.ToolTip.ShowDelay` - defaults to `1000`) and show duration in milliseconds (`Uno.UI.FeatureConfiguration.ToolTip.ShowDuration` - defaults to `5000`). This configuration only applies to Uno Platform targets. Windows App SDK (WinUI) will not adhere to this configuration.

## WebView2

Expand Down
44 changes: 2 additions & 42 deletions doc/articles/features/Lottie.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,10 @@ uid: Uno.Features.Lottie
> [!TIP]
> This article covers Uno-specific information for `Lottie`. For a full description of the feature and instructions on using it, see [Lottie](https://learn.microsoft.com/windows/communitytoolkit/animations/lottie).

* The `CommunityToolkit.WinUI.Lottie` (for WinUI) and `Microsoft.Toolkit.Uwp.UI.Lottie` (for UWP) namespaces provide classes for rendering Lottie animations in a `Microsoft.UI.Xaml.Controls.AnimatedVisualPlayer`.
* The `CommunityToolkit.WinUI.Lottie` (for WinUI) namespace provides classes for rendering Lottie animations in a `Microsoft.UI.Xaml.Controls.AnimatedVisualPlayer`.

## Using the `LottieVisualSource`

### [**WinUI 3**](#tab/winui)

Add the following namespaces:

```xml
Expand Down Expand Up @@ -58,44 +56,6 @@ Additionally, on Skia Desktop targets, you'll need the following packages:

On Windows/WinAppSDK, use the [`CommunityToolkit.WinUI.Lottie` NuGet package](https://www.nuget.org/packages/CommunityToolkit.WinUI.Lottie).

### [**UWP**](#tab/uwp)

Add the following namespaces:

```xml
<Page
...
xmlns:winui="using:Microsoft.UI.Xaml.Controls"
xmlns:lottie="using:Microsoft.Toolkit.Uwp.UI.Lottie"
...>
```

```xml
<winui:AnimatedVisualPlayer
x:Name="player"
AutoPlay="true">

<lottie:LottieVisualSource
UriSource="ms-appx:///Lottie/4930-checkbox-animation.json" />
</winui:AnimatedVisualPlayer>
```

On all Uno Platform targets, you'll need the following packages:

* `Uno.UI.Lottie` (for the `LottieVisualSource`)

Additionally, on Skia Desktop targets, you'll need the following packages:

* `SkiaSharp.Views.Uno` version 3.119.0-preview.1.2 or later
* `SkiaSharp.Skottie` version 3.119.0-preview.1.2 or later

On UWP, you'll need to reference the following packages in your head project:

* `Microsoft.Toolkit.Uwp.UI.Lottie` (for the `LottieVisualSource`)
* `Microsoft.UI.Xaml` (for the `AnimatedVisualPlayer`)

---

For more information, see [AnimatedVisualPlayer Class](https://learn.microsoft.com/uwp/api/microsoft.ui.xaml.controls.animatedvisualplayer).

## Lottie JSON file location
Expand All @@ -109,7 +69,7 @@ To reference the animations in XAML, use the `ms-appx:` URI, in this case `ms-ap
## Using `embedded://` scheme

> [!WARNING]
> This feature is only available on Uno Platform targets. WinUI and UWP on Windows is not supported.
> This feature is only available on Uno Platform targets. WinUI on Windows is not supported.

You can put the file as `<EmbeddedResource>` in your assembly and retrieve it using the following url format as `UriSource`:

Expand Down
2 changes: 1 addition & 1 deletion doc/articles/features/PasswordVault.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ So currently we preferred to **not** implement the `PasswordVault`. It will thro

## PasswordCredential

This class is implemented, however it never hides the password like the UWP does.
This class is implemented, however it never hides the password like the WinUI does.
This means that the [`RetrievePassword` method](https://learn.microsoft.com/uwp/api/windows.security.credentials.passwordcredential.retrievepassword#Windows_Security_Credentials_PasswordCredential_RetrievePassword) does nothing,
but we recommend to still use it in order to ensure cross-platform compatibility.

Expand Down
2 changes: 1 addition & 1 deletion doc/articles/features/SpeechRecognition.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The following features of `Windows.Media.SpeechRecognition.SpeechRecognizer` are
| SystemSpeechLanguage | - | - | |
| Timeouts | X | X | |
| UIOptions | X | X | Not used |
| CompileConstraintsAsync() | X | X | Always return Success (implemented to meet UWP constraint that requires `CompileConstraintsAsync()` to be called before `RecognizeAsync()`) |
| CompileConstraintsAsync() | X | X | Always return Success (implemented to meet WinUI constraint that requires `CompileConstraintsAsync()` to be called before `RecognizeAsync()`) |
| Dispose() | X | X | |
| RecognizeAsync() | X | X | |
| RecognizeWithUIAsync() | - | - | |
Expand Down
Loading
Loading