Udostępnij za pośrednictwem


Niektóre interfejsy API systemu Windows są usuwane

Następujące interfejsy API zostały usunięte:

  • Microsoft.Maui.ApplicationModel.IWindowStateManager.ActiveWindowDisplayChanged Zdarzenie
  • Microsoft.Maui.ApplicationModel.IWindowStateManager.OnWindowMessage(System.IntPtr,uint,System.IntPtr,System.IntPtr) Metoda
  • Microsoft.Maui.ApplicationModel.Platform.OnWindowMessage(System.IntPtr,uint,System.IntPtr,System.IntPtr) Metoda

Wprowadzona wersja

.NET 7

Poprzednie zachowanie

Wcześniej metoda była szczegółem implementacji, IWindowStateManager.OnWindowMessage() który uruchamiał kontrolę parametrów, aby określić, czy ActiveWindowDisplayChanged zdarzenie powinno zostać zgłoszone. Zdarzenie ActiveWindowDisplayChanged można wywołać, jeśli konkretny typ był w stanie obserwować zmiany ekranu, które zawierały aktualnie aktywne okno.

Możesz wywołać metodę Platform.OnWindowMessage() w celu przekazania komunikatów. Ta metoda wywołana do IWindowStateManager.OnWindowMessage() metody , która opcjonalnie spowoduje ActiveWindowDisplayChanged wyzwolenie zdarzenia.

Nowe zachowanie

Interfejsy API są teraz usuwane.

Typ zmiany powodującej niezgodność

Ta zmiana może mieć wpływ na zgodność binarną i zgodność ze źródłem.

Przyczyna wprowadzenia zmiany

Wydarzenie ActiveWindowDisplayChanged nigdy nie powinno być publiczne, ponieważ było to szczegóły implementacji i nie dostarczyło żadnych dodatkowych informacji, które "coś się zmieniło". Usunęliśmy go, aby uniknąć pomyłek ze MainDisplayInfoChanged zdarzeniem i zmniejszyć potencjalną złożoność implementacji zarówno dla użytkowników, jak i samego zestawu SDK.

Metoda IWindowStateManager.OnWindowMessage() była również szczegółem implementacji i nigdy nie powinna być publiczna. Ten interfejs API nie wykonuje już żadnych czynności i dlatego został usunięty.

Metoda Platform.OnWindowMessage() została zaimplementowana w celu obejścia ograniczenia platform Xamarin.Forms i Xamarin.Essentials. Został on przeniesiony do platformy .NET MAUI w celu pomocy w migracji i użytej na platformie .NET 6. Jednak w programie .NET 7 ten interfejs API nie wykonuje już żadnych czynności i został usunięty.

  • Jeśli nie tworzysz aplikacji dla systemu Windows, nie jest wymagana żadna akcja.
  • Jeśli używasz polecenia ActiveWindowDisplayChanged, użyj polecenia Microsoft.Maui.Devices.DeviceDisplay.Current.MainDisplayInfoChanged zamiast tego.
  • Jeśli wywołano jedną z OnWindowMessage() metod, usuń wywołanie .

Dotyczy interfejsów API

  • 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)