You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/whats-new/dotnet-10.md
+26-16Lines changed: 26 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: What's new in .NET MAUI for .NET 10
3
3
description: Learn about the new features introduced in .NET MAUI for .NET 10.
4
-
ms.date: 05/13/2025
4
+
ms.date: 11/11/2025
5
5
---
6
6
7
7
# What's new in .NET MAUI for .NET 10
@@ -79,6 +79,8 @@ On Android, the <xref:Microsoft.Maui.Controls.Editor> and <xref:Microsoft.Maui.C
79
79
80
80
By default, any exceptions that are thrown by your JavaScript code will be sent to .NET, where they're re-thrown as .NET exceptions.
81
81
82
+
In addition, you can customize initialization and access platform web views to tweak settings when the native view is ready (for example, use `RunAfterInitialize` on Windows or adjust `WKWebView` configuration on iOS/Mac Catalyst). For details, see [Customize initialization and access platform web views](~/user-interface/controls/hybridwebview.md?view=net-maui-10.0&preserve-view=true#customize-initialization-and-access-platform-web-views).
83
+
82
84
#### New Events
83
85
84
86
Adds initialization events to `HybridWebView` following the same pattern as `BlazorWebView`, enabling platform-specific customization before and after initialization.
The `IsBusy` property is marked obsolete. In .NET 10 we recommend using <xref:Microsoft.Maui.Controls.ActivityIndicator> (or a similar UX) for page or view-specific busy states and avoiding long-lived global busy indicators. For guidance, see [ContentPage](~/user-interface/pages/contentpage.md?view=net-maui-10.0&preserve-view=true).
142
144
143
145
### Picker
144
146
145
147
Programmatically control picker state with new Open/Close API.
146
148
149
+
In addition, <xref:Microsoft.Maui.Controls.DatePicker> and <xref:Microsoft.Maui.Controls.TimePicker> support nullable selection in .NET 10. This enables clearing values and binding to nullable types:
150
+
151
+
-<xref:Microsoft.Maui.Controls.DatePicker.Date> is now <xref:System.DateTime?>; <xref:Microsoft.Maui.Controls.DatePicker.MinimumDate> and <xref:Microsoft.Maui.Controls.DatePicker.MaximumDate> are also nullable.
152
+
-<xref:Microsoft.Maui.Controls.TimePicker.Time> is now <xref:System.TimeSpan?>.
153
+
154
+
For examples and platform notes, see [DatePicker](~/user-interface/controls/datepicker.md?view=net-maui-10.0&preserve-view=true) and [TimePicker](~/user-interface/controls/timepicker.md?view=net-maui-10.0&preserve-view=true).
155
+
147
156
## RefreshView
148
157
149
158
Added `IsRefreshEnabled` property to be distinct from `IsEnabled` and make the behavior consistent across platforms.
@@ -172,10 +181,6 @@ Added `IsRefreshEnabled` property to be distinct from `IsEnabled` and make the b
172
181
173
182
For more information, see [SearchBar](~/user-interface/controls/searchbar.md?view=net-maui-10.0&preserve-view=true).
174
183
175
-
### StackNavigationManager
176
-
177
-
Made public on Android.
178
-
179
184
### Switch
180
185
181
186
<xref:Microsoft.Maui.Controls.Switch> gains an `OffColor` bindable property that sets the color of the switch when it's in the off state:
@@ -187,10 +192,6 @@ Made public on Android.
187
192
188
193
For more information, see [Switch](~/user-interface/controls/switch.md?view=net-maui-10.0&preserve-view=true).
189
194
190
-
### TabbedPageManager
191
-
192
-
Made this public for advanced customization scenarios.
193
-
194
195
### TableView
195
196
196
197
<xref:Microsoft.Maui.Controls.TableView> has been deprecated. Instead, <xref:Microsoft.Maui.Controls.CollectionView> should be used.
@@ -205,6 +206,21 @@ When videos are hosted in a <xref:Microsoft.Maui.Controls.WebView> on Android, t
205
206
206
207
For more information, see [Play video fullscreen](~/user-interface/controls/webview.md?view=net-maui-10.0&preserve-view=true#play-video-full-screen-on-android).
207
208
209
+
You can also programmatically enable or disable JavaScript execution on Android with a .NET 10 platform-specific API. For details and a code example, see [WebView](~/user-interface/controls/webview.md?view=net-maui-10.0&preserve-view=true).
210
+
211
+
### SearchHandler
212
+
213
+
<xref:Microsoft.Maui.Controls.SearchHandler> adds APIs to programmatically show or hide the soft keyboard, making it easier to control focus and user input flow:
214
+
215
+
-`ShowSoftInputAsync`
216
+
-`HideSoftInputAsync`
217
+
218
+
For examples and platform notes, see [Search](~/fundamentals/shell/search.md?view=net-maui-10.0&preserve-view=true). If you use reflection-based properties such as `DisplayMemberName`, review the [trimming guidance](~/deployment/trimming.md?view=net-maui-10.0&preserve-view=true) for feature switches and linker configuration.
219
+
220
+
## Shell
221
+
222
+
.NET 10 introduces a toggle to control the shell navigation bar visibility animation. Use `Shell.NavBarVisibilityAnimationEnabled` to enable or disable the animation when the navigation bar shows or hides. See [Shell appearance and behavior](~/fundamentals/shell/index.md?view=net-maui-10.0&preserve-view=true).
223
+
208
224
## Diagnostics
209
225
210
226
We've added comprehensive diagnostics and metrics tracking for .NET MAUI applications, focusing on layout performance monitoring with an extensible architecture for future observability needs.
@@ -238,12 +254,6 @@ Added ability to enable/disable the minimize and maximize buttons on Windows.
238
254
239
255
<xref:Microsoft.Maui.Controls.MessagingCenter> has been made internal in .NET 10. Usage of it in your code can be replaced with `WeakReferenceMessenger` in the [CommunityToolkit.Mvvm](https://www.nuget.org/packages/CommunityToolkit.Mvvm) NuGet package. For more information, see [Messenger](/windows/communitytoolkit/mvvm/messenger).
240
256
241
-
## Shadows
242
-
243
-
In .NET 10, the `ShadowTypeConverter` class, in the `Microsoft.Maui.Controls` namespace, is now public.
244
-
245
-
For more information about how shadows can be specified using formatted strings, see [Shadow](~/user-interface/shadow.md).
246
-
247
257
## Platform features
248
258
249
259
.NET MAUI's platform features have received some updates in .NET 10.
0 commit comments