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


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

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

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

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

UWP Пакет SDK для приложений Windows
(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 Определите изменения среды для себя. См. изменение значения квалификатора ресурсов.
Класс PrintManager (Windows.Graphics.Printing) Не поддерживается в пакете SDK для приложений Windows 1.0.
Класс CameraCaptureUI (Windows.Media.Capture) (Microsoft.Windows.Media.Capture) Класс CameraCaptureUI
(Windows.Security.Authentication.Web) WebAuthenticationBroker класс (Microsoft.Security.Authentication.OAuth) Класс OAuth2Manager (поддерживается в пакете SDK для приложений Windows 1.7 и более поздних версий). Дополнительные сведения об использовании OAuth2Manager и связанных API для выполнения аутентификации по протоколу OAuth 2.0 см. в статье «Реализация функций OAuth в приложениях Windows». Полный пример приложения см. в GitHub .
(Windows.Storage.Pickers) Классы FileOpenPicker, FileSavePicker и FolderPicker Поддерживается, но необходимо использовать интерфейс IInitializeWithWindow . Смотрите раздел MessageDialog и средства выбора.
(Windows.System.Display) DisplayRequest класс Не поддерживается в пакете SDK для приложений Windows 1.0.
Пространство имен Windows.UI.Composition Пространство имен Microsoft.UI.Composition
(Windows.UI.Core) Класс CoreDispatcher (Microsoft.UI.Dispatching) Класс DispatcherQueue . См. раздел "Изменить CoreDispatcher на 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 пакета SDK для приложений Windows. При использовании XAML можно получить Window.AppWindow, чтобы получить AppWindow, связанное с окном XAML, но приложение должно кэшировать окно или 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 класс (глобальная кнопка "Назад") Не поддерживается. Реализуйте кнопку "Назад" в собственном пользовательском интерфейсе. См. также миграцию на Windows App SDK примера приложения UWP PhotoLab (C#).
(Windows.UI.Core) класс WindowSizeChangedEventArgs (Microsoft.UI.Xaml) класс WindowSizeChangedEventArgs; например, в обработчике (Microsoft.UI.Xaml) Window.SizeChanged.
Класс MessageDialog (Windows.UI.Popups) Поддерживается, но необходимо использовать интерфейс IInitializeWithWindow . См. раздел MessageDialog и Пикеры.
Класс 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 пакета SDK для приложений Windows
(Windows.UI.WindowManagement) AppWindowTitleBar.GetTitleBarOcclusions (Microsoft.UI.Windowing) AppWindowTitleBar.LeftInset и RightInset, в сочетании с Height, предоставляют те же сведения.
(Windows.UI.WindowManagement) AppWindowTitleBar.SetPreferredVisibility Нет прямого сопоставления 1:1 с API пакета SDK для приложений Windows
(Windows.UI.WindowManagement) AppWindowTitleBarOcclusion свойство (Microsoft.UI.Windowing) AppWindowTitleBar.LeftInset и RightInset, в сочетании с Height, предоставляют те же сведения.
(Windows.UI.WindowManagement) AppWindowTitleBarVisibility Нет прямого сопоставления 1:1 с API пакета SDK для приложений Windows
Пространство имен 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. Дополнительные сведения см. в разделе "Изменение окна.Current на 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) Не поддерживается в пакете SDK для приложений Windows 1.0.
Класс MediaElement (Windows.UI.Xaml.Controls) Не поддерживается в пакете SDK для приложений Windows 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 и всплывающее окно.
(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()); См. раздел "Миграция winrt.resume_foreground"

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

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

UWP Пакет SDK для приложений Windows
OneDrive SDK Пакет SDK Microsoft Graph

См. также