Algunas API de Windows se han quitado
Se han eliminado las siguientes API:
- Evento
Microsoft.Maui.ApplicationModel.IWindowStateManager.ActiveWindowDisplayChanged
- Método
Microsoft.Maui.ApplicationModel.IWindowStateManager.OnWindowMessage(System.IntPtr,uint,System.IntPtr,System.IntPtr)
- Método
Microsoft.Maui.ApplicationModel.Platform.OnWindowMessage(System.IntPtr,uint,System.IntPtr,System.IntPtr)
Versión introducida
.NET 7
Comportamiento anterior
Anteriormente, el método IWindowStateManager.OnWindowMessage()
era un detalle de implementación que ejecutaba una comprobación en los parámetros para determinar si se debe generar el evento ActiveWindowDisplayChanged
. El evento ActiveWindowDisplayChanged
se podía invocar si el tipo concreto podía observar los cambios de la pantalla que contenía la ventana actualmente activa.
Podía llamar al método Platform.OnWindowMessage()
para pasar mensajes. Este método llamaba a IWindowStateManager.OnWindowMessage()
y, luego, eso hacía opcionalmente que se desencadenara el evento ActiveWindowDisplayChanged
.
Comportamiento nuevo
Ahora se han quitado las API.
Tipo de cambio importante
Este cambio puede afectar a la compatibilidad binaria y a la compatibilidad de orígenes.
Motivo del cambio
El evento ActiveWindowDisplayChanged
nunca debería haber sido público porque era un detalle de implementación y no proporcionaba información adicional de que "algo había cambiado". Se ha quitado para evitar confusiones con el evento MainDisplayInfoChanged
y para reducir la posible complejidad de implementación para los usuarios y el propio SDK.
El método IWindowStateManager.OnWindowMessage()
también era un detalle de implementación y nunca debería haber sido público. Esta API ya no hace nada y, por tanto, se ha quitado.
El método Platform.OnWindowMessage()
se implementó para solucionar una limitación de Xamarin.Forms y Xamarin.Essentials. Se introdujo en .NET MAUI para facilitar la migración y se utilizó en .NET 6. Sin embargo, en .NET 7, esta API ya no hace nada y se ha quitado.
Acción recomendada
- Si no va a compilar la aplicación para Windows, no es necesaria ninguna acción.
- Si va a usar
ActiveWindowDisplayChanged
, use mejorMicrosoft.Maui.Devices.DeviceDisplay.Current.MainDisplayInfoChanged
. - Si va a llamar a alguno de los métodos
OnWindowMessage()
, quite la llamada.
API afectadas
Microsoft.Maui.ApplicationModel.IWindowStateManager.ActiveWindowDisplayChanged
Microsoft.Maui.ApplicationModel.IWindowStateManager.OnWindowMessage(System.IntPtr,uint,System.IntPtr,System.IntPtr)
Microsoft.Maui.ApplicationModel.Platform.OnWindowMessage(System.IntPtr,uint,System.IntPtr,System.IntPtr)
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de