Поделиться через


Сопоставление API-интерфейсов и библиотек UWP с Windows App SDK

В этом разделе представлено сопоставление API UWP с их эквивалентами Windows App SDK. В некоторых случаях сопоставление не является однозначным; одна из платформ может иметь больше или меньше функциональных возможностей, чем другая, для пространства имен или класса.

Существуют различия в именах пространства имен и классов (включая элементы управления пользовательским интерфейсом) между двумя платформами. Во многих случаях это так же легко, как изменение имени пространства имен, а затем код скомпилируется. Иногда имя класса или API изменилось, а также имя пространства имен. В других случаях сопоставление занимает немного больше работы, и в редких случаях требуется изменение подхода.

Как использовать таблицу. Сначала найдите имя используемого члена класса. Члены перечислены каждый раз, когда сопоставление сложнее простого изменения имени класса или пространства имен. Если ваш участник не указан, выполните поиск по имени используемого класса. Классы перечисляются каждый раз, когда сопоставление сложнее, чем просто изменение имени пространства имен (для конкретных рекомендаций см. руководство по области Feature area guides). Если ваш класс не указан в списке, то сопоставление — это просто изменение пространства имен. Таким образом, найдите имя пространства имен класса, а затем вы найдете эквивалентное имя пространства имен Windows App SDK. Класс будет находиться в этом пространстве имен. Если пространство имен не указано, его название не изменилось.

UWP Windows App SDK
(Windows.ApplicationModel.Activation) Класс LaunchActivatedEventArgs (Microsoft.UI.Xaml) Класс LaunchActivatedEventArgs ; например, в App.OnLaunched.
(Windows.ApplicationModel.Background) Класс BackgroundTaskBuilder (Microsoft.Windows.ApplicationModel.Background) Класс BackgroundTaskBuilder . См . статью "Использование фоновых задач" в приложениях Windows.
Метод CoreApplication.CreateNewView (Windows.ApplicationModel.Core) Метод AppWindow.Create (Microsoft.UI.Windowing)
(Windows.ApplicationModel.Core) Класс CoreApplicationViewTitleBar (Microsoft.UI.Windowing) Класс AppWindowTitleBar
(Windows.ApplicationModel.Core) Свойство CoreApplicationViewTitleBar.ExtendViewIntoTitleBar (Microsoft.UI.Windowing) свойство AppWindowTitleBar.ExtendsContentIntoTitleBar. Платформа продолжает рисовать кнопки Свернуть/Развернуть/Закрыть и сообщает сведения об окклюзии.
(Windows.ApplicationModel.Core) CoreApplicationViewTitleBar.Height свойство (Microsoft.UI.Windowing) Свойство AppWindowTitleBar.Height
(Windows.ApplicationModel.Core) Свойство CoreApplicationViewTitleBar.SystemOverlayLeftInset (Microsoft.UI.Windowing) Свойство AppWindowTitleBar.LeftInset
Свойство Windows.ApplicationModel.CoreCoreApplicationViewTitleBar.SystemOverlayRightInset (Microsoft.UI.Windowing) Свойство AppWindowTitleBar.RightInset
Пространство имен Windows.ApplicationModel.Resources.Core Microsoft.Windows.ApplicationModel.Resources. См. раздел о миграции с MRT на MRT Core.
Метод ResourceContext.GetForCurrentView (Windows.ApplicationModel.Resources.Core) (Microsoft.Windows.ApplicationModel.Resources) Метод ResourceManager.CreateResourceContext . См. ResourceContext.GetForCurrentView и ResourceContext.GetForViewIndependentUse.
(Windows.ApplicationModel.Resources.Core) метод ResourceContext.GetForViewIndependentUse (Microsoft.Windows.ApplicationModel.Resources) Метод ResourceManager.CreateResourceContext . См. информацию в разделе ResourceContext.GetForCurrentView и ResourceContext.GetForViewIndependentUse.
(Windows.ApplicationModel.Resources.Core) свойство ResourceManager.Current Создайте объект ResourceManager (Microsoft.Windows.ApplicationModel.Resources). См. класс ResourceManager.
(Windows.ApplicationModel.Resources.Core) событие ResourceQualifierObservableMap.MapChanged Определите изменения среды для себя. См. раздел Изменение значения квалификатора resource.
Класс PrintManager (Windows.Graphics.Printing) Не поддерживается в Windows App SDK 1.0.
Класс CameraCaptureUI (Windows.Media.Capture) (Microsoft.Windows.Media.Capture) Класс CameraCaptureUI
(Windows.Security.Authentication.Web) WebAuthenticationBroker класс (Microsoft.Security.Authentication.OAuth) OAuth2Manager класс (поддерживается в Windows App SDK 1.7 и более поздних версиях). Дополнительные сведения об использовании OAuth2Manager и связанных API для выполнения аутентификации по протоколу OAuth 2.0 см. в статье «Реализация функций OAuth в приложениях Windows». Полный пример приложения см. в разделе GitHub.
(Windows.Storage.Pickers) FileOpenPicker, FileSavePicker и FolderPicker Поддерживается, но необходимо использовать интерфейс IInitializeWithWindow . См. раздел MessageDialog и Pickers.
(Windows.System.Display) DisplayRequest класс Не поддерживается в Windows App SDK 1.0.
Пространство имен Windows.UI.Composition Пространство имен Microsoft.UI.Composition
(Windows.UI.Core) Класс CoreDispatcher (Microsoft.UI.Dispatching) Класс DispatcherQueue . См. раздел Change CoreDispatcher to DispatcherQueue.
Метод CoreDispatcher.RunAsync (Windows.UI.Core) (Microsoft.UI.Dispatching) Method DispatcherQueue.TryEnqueue . См. Изменить RunAsync на TryEnqueue.
Класс CoreWindow (Windows.UI.Core) (Microsoft.UI.Windowing) Класс AppWindow . См. Миграция функциональности окон.
(Свойство Windows.UI.Core) CoreWindow.Bounds (обычно отображается в C# как CoreWindow.GetForCurrentThread.Bounds) Свойство AppWindow.Size (Microsoft.UI.Windowing)
Метод CoreWindow.GetForCurrentThread (Windows.UI.Core) Нет прямого сопоставления 1:1 с API Windows App SDK. При использовании XAML можно получить Window.AppWindow, чтобы получить AppWindow, связанный с XAML Window, но приложению необходимо кэшировать Window или AppWindow, если оно хочет получить доступ к ним из другого места, которое не имеет доступа. Мы рекомендуем кэширование и предоставление доступа к Window на объекте App.
Метод CoreWindow.Activate (Windows.UI.Core) Метод AppWindow.Show (Microsoft.UI.Windowing)
Свойство CoreWindow.Dispatcher (Windows.UI.Core) (Microsoft.UI.Xaml) Window.DispatcherQueue свойство. См. раздел Change CoreWindow.Dispatcher to Window.DispatcherQueue.
Событие CoreWindow.SizeChanged (Windows.UI.Core) (Microsoft.UI.Windowing) Метод AppWindowChangedEventArgs.DidSizeChange
(Windows.UI.Core) SystemNavigationManager класс (глобальная кнопка "Назад") Не поддерживается. Реализуйте кнопку "Назад" в собственном пользовательском интерфейсе. См. миграцию примера приложения UWP PhotoLab для Windows App SDK (C#).
(Windows.UI.Core) класс WindowSizeChangedEventArgs (Microsoft.UI.Xaml) класс WindowSizeChangedEventArgs; например, в обработчике (Microsoft.UI.Xaml) Window.SizeChanged.
(Windows.UI.Popups) MessageDialog Поддерживается, но необходимо использовать интерфейс IInitializeWithWindow . См. раздел MessageDialog и Pickers.
Класс CoreTextServicesManager (Windows.UI.Text.Core) Поддерживается только в Windows 11.
(Windows.UI.ViewManagement событие) AccessibilitySettings.HighContrastChanged Событие ThemeSettings.Changed (Microsoft.UI.System)
Класс ApplicationView (Windows.UI.ViewManagement) (Microsoft.UI.Windowing) AppWindow класс
(Windows.UI.ViewManagement) ApplicationView.Title свойство Свойство AppWindow.Title (Microsoft.UI.Windowing)
(Windows.UI.ViewManagement) Метод ApplicationView.TryConsolidateAsync Метод AppWindow.Destroy (Microsoft.UI.Windowing)
(Windows.UI.ViewManagement) ApplicationView.TryEnterFullScreenMode метод (Microsoft.UI.Windowing) Метод AppWindow.SetPresenter с AppWindowPresenterKind.FullScreen
(Windows.UI.ViewManagement) Метод ApplicationView.TryEnterViewModeAsync с ApplicationViewMode.CompactOverlay (Microsoft.UI.Windowing) Метод AppWindow.SetPresenter с AppWindowPresenterKind.CompactOverlay
(Windows.UI.ViewManagement) ApplicationView.TryResizeView метод Метод AppWindow.Resize (Microsoft.UI.Windowing)
(Windows.UI.ViewManagement) Поле ApplicationViewMode.CompactOverlay (Microsoft.UI.Windowing) Поле AppWindowPresenterKind.CompactOverlay
(Windows.UI.ViewManagement) ApplicationViewTitleBar класс (Microsoft.UI.Windowing) Класс AppWindowTitleBar
(Windows.UI.ViewManagement) Поле ApplicationViewWindowingMode.FullScreen (Microsoft.UI.Windowing) Поле AppWindowPresenterKind.FullScreen
(c0>Windows.UI.WindowManagement) AppWindow класс (Microsoft.UI.Windowing) AppWindow класс
Событие AppWindow.Changed (Windows.UI.WindowManagement) (Microsoft.UI.Windowing) Событие Microsoft.UI.Windowing.AppWindow.Changed
Метод AppWindow.CloseAsync (Windows.UI.WindowManagement) Метод AppWindow.Destroy (Microsoft.UI.Windowing)
Метод AppWindow.GetPlacement (Windows.UI.WindowManagement) Свойство AppWindow.Position (Microsoft.UI.Windowing)
Методы Windows.UI.WindowManagementAppwindow.RequestMoveXxx Метод AppWindow.Move (Microsoft.UI.Windowing)
Метод AppWindow.RequestSize (Windows.UI.WindowManagement) Метод AppWindow.Resize (Microsoft.UI.Windowing)
Свойство AppWindow.Title (Windows.UI.WindowManagement) Свойство AppWindow.Title (Microsoft.UI.Windowing)
(Windows.UI.WindowManagement) AppWindow.TryCreateAsync метод Метод AppWindow.Create (Microsoft.UI.Windowing)
(Windows.UI.WindowManagement) AppWindow.TryShowAsync метод Метод AppWindow.Show (Microsoft.UI.Windowing)
(Windows.UI.WindowManagement) Метод AppWindowChangedEventArgs.DidSizeChange (Microsoft.UI.Windowing) Метод AppWindowChangedEventArgs.DidSizeChange
(Windows.UI.WindowManagement) AppWindowPlacement.Size свойство Свойство AppWindow.Size (Microsoft.UI.Windowing)
(Windows.UI.WindowManagement) Поле AppWindowPresentationKind.CompactOverlay (Microsoft.UI.Windowing) Поле AppWindowPresenterKind.CompactOverlay
(Windows.UI.WindowManagement) Поле AppWindowPresentationKind.FullScreen (Microsoft.UI.Windowing) Поле AppWindowPresenterKind.FullScreen
(Windows.UI.WindowManagement) метод AppWindowPresenter.RequestPresentation Метод AppWindow.SetPresenter (Microsoft.UI.Windowing)
(Класс Windows.UI.WindowManagementAppWindowTitleBar) (Microsoft.UI.Windowing) Класс AppWindowTitleBar
(Windows.UI.WindowManagement) AppWindowTitleBar.GetPreferredVisibility Нет прямого сопоставления 1:1 с API Windows App SDK
(Windows.UI.WindowManagement) AppWindowTitleBar.GetTitleBarOcclusions (Microsoft.UI.Windowing) AppWindowTitleBar.LeftInset и RightInset, в сочетании с Height, предоставляют те же сведения.
(Windows.UI.WindowManagement) AppWindowTitleBar.SetPreferredVisibility Нет прямого сопоставления 1:1 с API Windows App SDK
(Windows.UI.WindowManagement) AppWindowTitleBarOcclusion свойство (Microsoft.UI.Windowing) AppWindowTitleBar.LeftInset и RightInset, в сочетании с Height, предоставляют те же сведения.
(Windows.UI.WindowManagement) AppWindowTitleBarVisibility Нет прямого сопоставления 1:1 с API Windows App SDK
Пространство имен Windows.UI.Xaml Пространство имен Microsoft.UI.Xaml
Метод Application.OnActivated (Windows.UI.Xaml) (обычно отображается в C# как App.OnActivated) См. раздел OnActivated, OnBackgroundActivated и другие методы обработки активации.
Метод Application.OnBackgroundActivated (обычно в C# отображается как App.OnBackgroundActivated) См. раздел OnActivated, OnBackgroundActivated и другие методы обработки активации.
(Windows.UI.Xaml) Метод Application.OnCachedFileUpdaterActivated (обычно отображается в C# как App.OnCachedFileUpdaterActivated) См. раздел OnActivated, OnBackgroundActivated и другие методы обработки активации.
(Windows.UI.Xaml) Application.OnFileActivated (обычно отображается в C# как App.OnFileActivated) См. сопоставление типов файлов и OnActivated, OnBackgroundActivated и другие методы обработки активации.
(Windows.UI.Xaml) Application.OnFileOpenPickerActivated (обычно отображается в C# как App.OnFileOpenPickerActivated) См. раздел OnActivated, OnBackgroundActivated и другие методы обработки активации.
Метод Application.OnFileSavePickerActivated обычно отображается в C# как App.OnFileSavePickerActivated. См. раздел OnActivated, OnBackgroundActivated и другие методы обработки активации.
(Метод Application.OnSearchActivated (Windows.UI.Xaml) (обычно отображается в C# как App.OnSearchActivated) См. раздел OnActivated, OnBackgroundActivated и другие методы обработки активации.
Метод Application.OnShareTargetActivated (обычно отображается в C# как) См. раздел OnActivated, OnBackgroundActivated и другие методы обработки активации.
(Windows.UI.Xaml) свойство Window.Current Не рекомендуется и возвращается null. В качестве альтернативы см. Change Window.Current to App.Window.
(Свойство Windows.UI.Xaml) Window.Dispatcher (обычно написанное в C# как Window.Current.Dispatcher) (Свойство Microsoft.UI.Xaml) Window.DispatcherQueue
(Windows.UI.Xaml.Controls) ContentDialog класс (Microsoft.UI.Xaml.Controls) ContentDialog поддерживается, но необходимо задать его свойство XamlRoot . См. раздел ContentDialog и Popup.
Класс Windows.UI.Xaml.Controls(InkCanvas) Не поддерживается в Windows App SDK 1.0.
Класс MediaElement (Windows.UI.Xaml.Controls) Не поддерживается в Windows App SDK 1.0.
Класс MapControl (Windows.UI.Xaml.Controls.Maps) Класс MapControl (Microsoft.UI.Xaml.Controls)
(Windows.UI.Xaml.Controls.Primitives) Popup класс (Поддерживается всплывающееокно Microsoft.UI.Xaml.Controls.Primitives), но необходимо задать его свойство XamlRoot. См. раздел ContentDialog и Popup.
(Windows.UI.Xaml.Media) Свойство AcrylicBrush.BackgroundSource В Windows App SDK (Microsoft.UI.Xaml.Media) AcrylicBrush всегда отбирает данные из содержимого приложения. См. свойство AcrylicBrush.BackgroundSource.
C++/WinRT. co_await winrt.resume_foreground(this->Dispatcher()); См. раздел Migrate winrt.resume_foreground

Сторонние библиотеки

В этом разделе описаны различные библиотеки, поддерживаемые в UWP, и их необходимо изменить при использовании WinUI 3.

UWP Windows App SDK
OneDrive SDK пакет SDK Microsoft Graph

См. также