Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
92121c2
Support versioning.
davidbritch Oct 2, 2023
cb33f0f
Fix moniker.
davidbritch Oct 2, 2023
e8ec4f3
Add StartPath property.
davidbritch Oct 2, 2023
d9f0fe8
Merge pull request #1745 from dotnet/dabritch-net8-blazorwebview
davidbritch Oct 2, 2023
7382b5a
TryDispatchAsync on BlazorWebView
davidbritch Oct 2, 2023
a0825c2
Merge pull request #1746 from dotnet/dabritch-net8-blazorwebview
davidbritch Oct 2, 2023
5689ec7
Diagnosing BlazorWebView issues (#1747)
davidbritch Oct 2, 2023
a265b91
Merge branch 'main' into dabritch-net8
davidbritch Oct 2, 2023
48d3c92
New PointerGestureRecognizer commands and events (#1749)
davidbritch Oct 2, 2023
62710f3
Merge branch 'main' into dabritch-net8
davidbritch Oct 2, 2023
f3d28aa
Flashlight.IsSupportedAsync method (#1756)
davidbritch Oct 3, 2023
1af69de
BlazorWebView tweaks.
davidbritch Oct 3, 2023
777cc56
Three AutomationProperties deprecated. (#1757)
davidbritch Oct 3, 2023
d8ed6f1
Add deprecations.
davidbritch Oct 3, 2023
eacdb9c
App.Properties removal (#1758)
davidbritch Oct 3, 2023
07fd23f
Merge branch 'main' into dabritch-net8
davidbritch Oct 3, 2023
09559a2
Merge branch 'main' into dabritch-net8
davidbritch Oct 5, 2023
b08b8e0
Merge branch 'main' into dabritch-net8
davidbritch Oct 9, 2023
05cc6dc
Unify SensorSpeed intervals (#1775)
davidbritch Oct 9, 2023
662c9f8
PhoneDialer.Current removed.
davidbritch Oct 9, 2023
f614746
OpenGLView removed.
davidbritch Oct 9, 2023
6135b8f
SolidColorBrush.Content is the ContentProperty of the class (#1776)
davidbritch Oct 9, 2023
92bfcac
ClickGestureRecognizer obsoleted. (#1777)
davidbritch Oct 9, 2023
f7a885b
GetPosition of drag/drop gesture (#1778)
davidbritch Oct 9, 2023
df7e366
Add UserAgent property (#1779)
davidbritch Oct 9, 2023
d941e7a
Set media playback prefs in a WebView on iOS (#1780)
davidbritch Oct 9, 2023
2e1767e
Merge branch 'main' into dabritch-net8
davidbritch Oct 9, 2023
73b5c76
VisualElement.FocusChangeRequested event deprecated (#1781)
davidbritch Oct 10, 2023
32b8af8
AppThemeBinding supports DynamicResource values (#1783)
davidbritch Oct 10, 2023
77d27f4
Grid gains new Add methods. (#1784)
davidbritch Oct 10, 2023
dd21163
iOS lifecycle PerformFetch delegate (#1785)
davidbritch Oct 10, 2023
b1525d0
Secondary tap on Android (#1787)
davidbritch Oct 11, 2023
4ec7916
Common properties moved to InputView (#1789)
davidbritch Oct 13, 2023
f951427
PointerEventArgs platform args (#1790)
davidbritch Oct 16, 2023
a79470c
Drag/drop event args gain platform args (#1791)
davidbritch Oct 17, 2023
df0fc2a
Edit.
davidbritch Oct 17, 2023
b7189b0
Control resource generation (#1797)
davidbritch Oct 18, 2023
2a2b05c
Duplicate image file errors (#1799)
davidbritch Oct 18, 2023
ac3ba03
Soft input keyboard extensions (#1800)
davidbritch Oct 18, 2023
c4c70b1
Use the .NET xmlns schema for Maps types (#1801)
davidbritch Oct 19, 2023
a206984
ClassModifier XAML attribute.
davidbritch Oct 19, 2023
3b3b35b
XAML class modifiers (#1804)
davidbritch Oct 19, 2023
ce8a9bf
WiFi permission on Android 13 (#1806)
davidbritch Oct 19, 2023
e0fe4aa
Bluetooth permission on Android. (#1807)
davidbritch Oct 19, 2023
9f544ac
Caching disabled for Android streams (#1808)
davidbritch Oct 19, 2023
2ed0a6b
Keyboard auto scroll manager on iOS (#1813)
davidbritch Oct 20, 2023
6c4027f
Merge branch 'main' into dabritch-net8
davidbritch Oct 20, 2023
e6c92ee
Consume Android system fonts (#1814)
davidbritch Oct 23, 2023
0686c75
Single use query parameters for GoToAsync (#1815)
davidbritch Oct 23, 2023
44243f4
Inspect a WebView on MacCat
davidbritch Oct 23, 2023
bd75d96
Merge branch 'main' into dabritch-net8
davidbritch Oct 23, 2023
3be7f3d
Shell tab color appearance (#1818)
davidbritch Oct 24, 2023
4bce633
Decouple window management from the App class (#1819)
davidbritch Oct 24, 2023
0fd2517
Add headings.
davidbritch Oct 24, 2023
e213295
Edit.
davidbritch Oct 24, 2023
bd96400
Use TApp in UseMauiEmbedding method call. (#1820)
davidbritch Oct 24, 2023
ea8e1aa
Keyboard accelerators (#1821)
davidbritch Oct 26, 2023
2c5c0dc
Shipping info. (#1826)
davidbritch Oct 26, 2023
ebd130c
ApplicationIdGuid build property not required. (#1829)
davidbritch Oct 26, 2023
bc477a6
Geolocation foreground listening (#1832)
davidbritch Oct 27, 2023
b32763e
HideSoftInputOnTapped property (#1833)
davidbritch Oct 27, 2023
7681517
Use a factory method to avoid reflection.
davidbritch Oct 27, 2023
bfc6492
Edits.
davidbritch Oct 27, 2023
9875686
Limitation is .NET 7 only (#1834)
davidbritch Oct 30, 2023
74ce6d4
PlatformImage.FromStream can be used on Windows (#1837)
davidbritch Oct 30, 2023
aff098e
Performance (#1844)
davidbritch Nov 1, 2023
1d7e84b
Merge branch 'main' into dabritch-net8
davidbritch Nov 1, 2023
5278f09
Classify new features. (#1846)
davidbritch Nov 1, 2023
bcba2fd
Upgrade from 7 to 8 (#1855)
davidbritch Nov 7, 2023
5f3998c
Android animations respect power saving.
davidbritch Nov 7, 2023
5673998
Revert "Android animations respect power saving."
davidbritch Nov 7, 2023
6a4f5a9
Android animations respect power saving (#1856)
davidbritch Nov 7, 2023
5227783
Heading edit.
davidbritch Nov 7, 2023
a56b4e9
Put moniker in include file.
davidbritch Nov 7, 2023
4f6eceb
Remove section. (#1857)
davidbritch Nov 7, 2023
4f88c5e
High speed sampling rates for Android sensors (#1861)
davidbritch Nov 8, 2023
4a327e1
Publish unpackaged apps (#1864)
davidbritch Nov 8, 2023
7ad1239
Unpackaged apps on Windows.
davidbritch Nov 8, 2023
7a1cc5d
VSMac EOL (#1865)
davidbritch Nov 8, 2023
a4fb674
.NET 7 to .NET 8 (#1867)
davidbritch Nov 10, 2023
a5bd422
Build your first app in .NET 8 (#1868)
davidbritch Nov 10, 2023
d0ce8ab
.NET 8 installation (#1871)
davidbritch Nov 13, 2023
f5f1193
Merge branch 'main' into dabritch-net8
davidbritch Nov 13, 2023
4ca7f2d
Edit.
davidbritch Nov 13, 2023
bc312b6
iOS release notes
davidbritch Nov 13, 2023
ea76cee
dotnet publish in .NET 8 (#1877)
davidbritch Nov 13, 2023
11b2ceb
Default RuntimeIdentifier on iOS (#1878)
davidbritch Nov 13, 2023
aa9c8d6
Troubleshoot a remote build. (#1879)
davidbritch Nov 13, 2023
1c10b9e
Release note links.
davidbritch Nov 14, 2023
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
1 change: 1 addition & 0 deletions .openpublishing.publish.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"locale": "en-us",
"monikers": [],
"moniker_ranges": [
">=net-maui-7.0"
],
"open_to_public_contributors": true,
"xref_query_tags": [
Expand Down
8 changes: 7 additions & 1 deletion docs/TOC.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@
href: xaml/fundamentals/mvvm.md
- name: Compilation
href: xaml/xamlc.md
- name: Class modifiers
href: xaml/class-modifiers.md
- name: Field modifiers
href: xaml/field-modifiers.md
- name: Generics
Expand Down Expand Up @@ -471,6 +473,8 @@
href: user-interface/menu-bar.md
- name: Display menu items
href: user-interface/menuitem.md
- name: Keyboard accelerators
href: user-interface/keyboard-accelerators.md
- name: Shadows
href: user-interface/shadow.md
- name: Styles
Expand Down Expand Up @@ -784,8 +788,10 @@
items:
- name: Overview
href: windows/deployment/overview.md
- name: Publish with the .NET CLI
- name: Publish a packaged app with the .NET CLI
href: windows/deployment/publish-cli.md
- name: Publish an unpackaged app with the .NET CLI
href: windows/deployment/publish-unpackaged-cli.md
- name: Publish with Visual Studio to a folder
href: windows/deployment/publish-visual-studio-folder.md
- name: Troubleshooting
Expand Down
7 changes: 3 additions & 4 deletions docs/android/deployment/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@ ms.date: 04/05/2023

> [!div class="op_single_selector"]
>
> - [Publish for Android](index.md)
> - [Publish for iOS](../../ios/deployment/index.md)
> - [Publish for macOS](../../mac-catalyst/deployment/index.md)
> - [Publish for Windows](../../windows/deployment/overview.md)
> - [Publish for Google Play distribution](publish-google-play.md)
> - [Publish for ad-hoc distribution](publish-ad-hoc.md)
> - [Publish using the command line](publish-cli.md)

The final step in the development of a .NET Multi-platform App UI (.NET MAUI) app is to publish it. Publishing is the process of creating a package that contains the app and is ready for users to install on their devices. Publishing involve two essential tasks:

Expand Down
5 changes: 5 additions & 0 deletions docs/android/deployment/publish-ad-hoc.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ ms.date: 05/15/2023

# Publish an Android app for ad-hoc distribution

> [!div class="op_single_selector"]
>
> - [Publish for Google Play distribution](publish-google-play.md)
> - [Publish using the command line](publish-cli.md)

When distributing Android apps outside Google Play, and other marketplaces, *ad-hoc* distribution enables you to make the app available for download on a website or server. Android requires that apps created for ad-hoc distribution use the Android Package (APK) format.

To distribute a .NET Multi-platform App UI (.NET MAUI) Android app, you'll need to sign it with a key from your keystore. Keystores are binary files that serve as repositories of certificates and private keys.
Expand Down
19 changes: 13 additions & 6 deletions docs/android/deployment/publish-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ ms.date: 05/16/2023

# Publish an Android app using the command line

> [!div class="op_single_selector"]
>
> - [Publish for Google Play distribution](publish-google-play.md)
> - [Publish for ad-hoc distribution](publish-ad-hoc.md)

To distribute a .NET Multi-platform App UI (.NET MAUI) Android app, you'll need to sign it with a key from your keystore. A *keystore* is a database of security certificates that's created by using `keytool` from the Java Development Kit (JDK). A keystore is required when publishing a .NET MAUI Android app, as Android won't run apps that haven't been signed.

## Create a keystore file
Expand Down Expand Up @@ -59,7 +64,7 @@ To build your app from the command line, and sign it using your keystore, open a

| Parameter | Value |
|------------------------------|-------------------------------------------------------------------------------------------------|
| `-f` or `--framework` | The target framework, which is `net7.0-android`. |
| `-f` or `--framework` | The target framework, which is `net8.0-android`. |
| `-c` or `--configuration` | The build configuration, which is `Release`. |

> [!WARNING]
Expand Down Expand Up @@ -91,19 +96,21 @@ For a full list of build properties, see [Build properties](/xamarin/android/dep
Run the `dotnet publish` command with the following parameters to build and sign your app:

```console
dotnet publish -f net7.0-android -c Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore={filename}.keystore -p:AndroidSigningKeyAlias={keyname} -p:AndroidSigningKeyPass={password} -p:AndroidSigningStorePass={password}
dotnet publish -f net8.0-android -c Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore={filename}.keystore -p:AndroidSigningKeyAlias={keyname} -p:AndroidSigningKeyPass={password} -p:AndroidSigningStorePass={password}
```

[!INCLUDE [dotnet publish in .NET 8](~/includes/dotnet-publish-net8.md)]

For example, use the following command to build and sign your app using the previously created keystore:

```console
dotnet publish -f net7.0-android -c Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore=myapp.keystore -p:AndroidSigningKeyAlias=myapp -p:AndroidSigningKeyPass=mypassword -p:AndroidSigningStorePass=mypassword
dotnet publish -f net8.0-android -c Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore=myapp.keystore -p:AndroidSigningKeyAlias=myapp -p:AndroidSigningKeyPass=mypassword -p:AndroidSigningStorePass=mypassword
```

Both the `AndroidSigningKeyPass` and `AndroidSigningStorePass` properties support `env:` and `file:` prefixes that can be used to specify an environment variable or file that contains the password. Specifying the password in this way prevents it from appearing in build logs. For example, to use an environment variable named `AndroidSigningPassword`:

```console
dotnet publish -f net7.0-android -c Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore=myapp.keystore -p:AndroidSigningKeyAlias=myapp -p:AndroidSigningKeyPass=env:AndroidSigningPassword -p:AndroidSigningStorePass=env:AndroidSigningPassword
dotnet publish -f net8.0-android -c Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore=myapp.keystore -p:AndroidSigningKeyAlias=myapp -p:AndroidSigningKeyPass=env:AndroidSigningPassword -p:AndroidSigningStorePass=env:AndroidSigningPassword
```

> [!IMPORTANT]
Expand All @@ -112,10 +119,10 @@ dotnet publish -f net7.0-android -c Release -p:AndroidKeyStore=true -p:AndroidSi
To use a file located at *C:\Users\user1\AndroidSigningPassword.txt*:

```console
dotnet publish -f net7.0-android -c Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore=myapp.keystore -p:AndroidSigningKeyAlias=myapp -p:AndroidSigningKeyPass=file:C:\Users\user1\AndroidSigningPassword.txt -p:AndroidSigningStorePass=file:C:\Users\user1\AndroidSigningPassword.txt
dotnet publish -f net8.0-android -c Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore=myapp.keystore -p:AndroidSigningKeyAlias=myapp -p:AndroidSigningKeyPass=file:C:\Users\user1\AndroidSigningPassword.txt -p:AndroidSigningStorePass=file:C:\Users\user1\AndroidSigningPassword.txt
```

Publishing builds and signs the app, and then copies the AAB and APK files to the *bin\\Release\\net7.0-android\\publish* folder. There are two AAB files - one unsigned and another signed. The signed variant has **-signed** in the file name.
Publishing builds and signs the app, and then copies the AAB and APK files to the *bin\\Release\\net8.0-android\\publish* folder. There are two AAB files - one unsigned and another signed. The signed variant has **-signed** in the file name.

For more information about the `dotnet publish` command, see [dotnet publish](/dotnet/core/tools/dotnet-publish).

Expand Down
5 changes: 5 additions & 0 deletions docs/android/deployment/publish-google-play.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ ms.date: 05/15/2023

# Publish an Android app for Google Play distribution

> [!div class="op_single_selector"]
>
> - [Publish for ad-hoc distribution](publish-ad-hoc.md)
> - [Publish using the command line](publish-cli.md)

The most common approach to distributing Android apps to users is through the Google Play. The first time an app is submitted to Google Play it must be submitted through the Google Play Console. Subsequent versions of the app can be submitted through Visual Studio. In both cases, a Google Play Developer account is required. Apps submitted to Google Play require approval from Google.

To distribute a .NET Multi-platform App UI (.NET MAUI) Android app, you'll need to sign it with a key from your keystore, prior to upload to Google Play. Keystores are binary files that serve as repositories of certificates and private keys.
Expand Down
2 changes: 2 additions & 0 deletions docs/android/linking.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ Linker behavior can be configured for each build configuration of your app. By d
# [Visual Studio for Mac](#tab/vsmac)
<!-- markdownlint-enable MD025 -->

[!INCLUDE [Visual Studio for Mac end of life](~/includes/vsmac-eol.md)]

1. In the **Solution Window**, right-click on your .NET MAUI app project and select **Properties**.
1. In the **Project Properties** window, select the **Build > Android > Linker** tab.
1. In the **Project Properties** window, ensure the **Configuration** drop-down is set to **Release** and set the **Linker Behavior** drop-down to your desired linker behavior:
Expand Down
4 changes: 2 additions & 2 deletions docs/android/manifest.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ms.date: 03/07/2023

Every .NET Multi-platform App UI (.NET MAUI) app on Android has an *AndroidManifest.xml* file, located in the *Platforms\\Android* folder, that describes essential information about your app to build tools, the Android operating system, and Google Play.

The manifest file for your .NET MAUI Android app is generated as part of the .NET MAUI build process on Android. This build process takes the XML in the *Platforms\\Android\\AndroidManifest.xml* file, and merges it with any XML that's generated from specific attributes on your classes. The resulting manifest file can be found in the *obj* folder. For example, it can be found at *obj\\Debug\\net7.0-android\\AndroidManifest.xml* for debug builds on .NET 7.
The manifest file for your .NET MAUI Android app is generated as part of the .NET MAUI build process on Android. This build process takes the XML in the *Platforms\\Android\\AndroidManifest.xml* file, and merges it with any XML that's generated from specific attributes on your classes. The resulting manifest file can be found in the *obj* folder. For example, it can be found at *obj\\Debug\\net8.0-android\\AndroidManifest.xml* for debug builds on .NET 8.

<!-- TODO: Uncomment when VS 17.6 P2 is released
> [!NOTE]
Expand Down Expand Up @@ -181,7 +181,7 @@ public class MainApplication : MauiApplication

```

This declaration causes the following XML fragment to be generated in *obj\\Debug\\net7.0-android\\AndroidManifest.xml*:
This declaration causes the following XML fragment to be generated in *obj\\Debug\\net8.0-android\\AndroidManifest.xml*:

```xml
<application android:label="MyMauiApp" android:theme="@style/Maui.SplashTheme" android:debuggable="true" ...>
Expand Down
6 changes: 3 additions & 3 deletions docs/deployment/visual-studio-properties.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The **Application** section describes some settings related to which platforms y
| Setting | Default value | Description |
| - | - | - |
| Target the iOS platform | Checked | Specifies that this project will target the iOS platform. |
| Target iOS Framework | `net7.0-ios` | The [Target Framework Moniker][tfm] used to target iOS.
| Target iOS Framework | `net8.0-ios` | The [Target Framework Moniker][tfm] used to target iOS.
| Minimum Target iOS Framework | `14.2` | The minimum version of iOS your app targets.

- **Android Targets**
Expand All @@ -38,7 +38,7 @@ The **Application** section describes some settings related to which platforms y
| Setting | Default value | Description |
| - | - | - |
| Target the Android platform | Checked | When checked, the .NET MAUI project will target and build an Android version of your app. Uncheck to disable the Android target. |
| Target Android Framework | `net7.0-android` | The [Target Framework Moniker][tfm] used to target Android.
| Target Android Framework | `net8.0-android` | The [Target Framework Moniker][tfm] used to target Android.
| Minimum Target Android Framework | `21.0` | The minimum version of Android your app targets.

- **Windows Targets**
Expand All @@ -48,7 +48,7 @@ The **Application** section describes some settings related to which platforms y
| Setting | Default value | Description |
| - | - | - |
| Target the Windows platform | Checked | When checked, the .NET MAUI project will target and build a Windows version of your app. Uncheck to disable the Windows target. |
| Target Windows Framework | `net7.0-windows10.0.19041.0` | The [Target Framework Moniker][tfm] used to target Windows.
| Target Windows Framework | `net8.0-windows10.0.19041.0` | The [Target Framework Moniker][tfm] used to target Windows.
| Minimum Target Windows Framework | `10.0.17763.0` | The minimum version of Windows your app targets.

## Build
Expand Down
3 changes: 2 additions & 1 deletion docs/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@
"markdownEngineName": "markdig",
"groups": {
"net": {
"dest": "net-dest"
"dest": "net-dest",
"moniker_range": ">=net-maui-7.0"
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions docs/fundamentals/accessibility.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "Build accessible apps with semantic properties"
description: "Learn how to use the SemanticProperties class in a .NET MAUI app, so that a screen reader can speak about the user interface elements on a page."
ms.date: 12/16/2021
ms.date: 10/03/2023
---

# Build accessible apps with semantic properties
Expand Down Expand Up @@ -261,7 +261,7 @@ AutomationProperties.SetIsInAccessibleTree(entry, true);
### Name

> [!IMPORTANT]
> The [`Name`](xref:Microsoft.Maui.Controls.AutomationProperties.NameProperty) attached property has been superseded by the [`Description`](xref:Microsoft.Maui.Controls.SemanticProperties.DescriptionProperty) attached property.
> The [`Name`](xref:Microsoft.Maui.Controls.AutomationProperties.NameProperty) attached property has been deprecated in .NET 8. Instead, use the [`Description`](xref:Microsoft.Maui.Controls.SemanticProperties.DescriptionProperty) attached property.

The [`Name`](xref:Microsoft.Maui.Controls.AutomationProperties.NameProperty) attached property value should be a short, descriptive text string that a screen reader uses to announce an element. This property should be set for elements that have a meaning that is important for understanding the content or interacting with the user interface. This can be accomplished in XAML as follows:

Expand All @@ -281,7 +281,7 @@ AutomationProperties.SetName(activityIndicator, "Progress indicator");
### HelpText

> [!IMPORTANT]
> The [`HelpText`](xref:Microsoft.Maui.Controls.AutomationProperties.HelpTextProperty) attached property has been superseded by the [`Hint`](xref:Microsoft.Maui.Controls.SemanticProperties.HintProperty) attached property.
> The [`HelpText`](xref:Microsoft.Maui.Controls.AutomationProperties.HelpTextProperty) attached property has been deprecated in .NET 8. Instead, use the [`Hint`](xref:Microsoft.Maui.Controls.SemanticProperties.HintProperty) attached property.

The [`HelpText`](xref:Microsoft.Maui.Controls.AutomationProperties.HelpTextProperty) attached property should be set to text that describes the user interface element, and can be thought of as tooltip text associated with the element. This can be accomplished in XAML as follows:

Expand All @@ -304,7 +304,7 @@ On some platforms, for edit controls such as an <xref:Microsoft.Maui.Controls.En
### LabeledBy

> [!IMPORTANT]
> The [`LabeledBy`](xref:Microsoft.Maui.Controls.AutomationProperties.LabeledByProperty) attached property has been superseded by bindings. For more information, see [SemanticProperties: Description](#description).
> The [`LabeledBy`](xref:Microsoft.Maui.Controls.AutomationProperties.LabeledByProperty) attached property has been deprecated in .NET 8. Instead, use a `SemanticProperties.Description` binding. For more information, see [SemanticProperties: Description](#description).

The [`LabeledBy`](xref:Microsoft.Maui.Controls.AutomationProperties.LabeledByProperty) attached property allows another element to define accessibility information for the current element. For example, a <xref:Microsoft.Maui.Controls.Label> next to an <xref:Microsoft.Maui.Controls.Entry> can be used to describe what the <xref:Microsoft.Maui.Controls.Entry> represents. This can be accomplished in XAML as follows:

Expand Down
Loading