将 UWP API 和库映射到 Windows 应用 SDK

本主题提供了 UWP API 与其 Windows 应用 SDK 等效项的映射。 在某些情况下,映射不是一对一的。对于命名空间或类,任何一个平台都可能比另一个平台具有更多或更少的功能。

这两个平台之间的命名空间和类(包括 UI 控件)的名称存在差异。 在许多情况下,只需更改命名空间名称,就可以编译代码。 有时,类或 API 名称以及命名空间名称已发生更改。 有时,映射会处理较多工作,在极少数情况下,则需要更改方法。

如何使用该表。 首先,搜索你正在使用的类成员的姓名。 只要映射比简单的类名或命名空间名称更改更复杂,就会列出成员。 如果未列出你的成员,请搜索你正在使用的类的名称。 只要映射比简单地更改命名空间名称更复杂,就会列出类(有关具体指导,请参阅功能区指南)。 如果你的类未列出,则该映射只是命名空间的更改。 因此,找到你的类的命名空间名称后,你将找到等效的 Windows 应用 SDK 命名空间名称。 你的类将位于该命名空间中。 如果你的命名空间未列出,则其名称并未更改。

UWP Windows 应用 SDK
Windows.ApplicationModel.ActivationLaunchActivatedEventArgs Microsoft.UI.XamlLaunchActivatedEventArgs 类;例如,在 App.OnLaunched 中
Windows.ApplicationModel.BackgroundBackgroundTaskBuilder Microsoft.Windows.ApplicationModel.BackgroundBackgroundTaskBuilder 类。 请参阅 在 Windows 应用中使用后台任务
Windows.ApplicationModel.CoreCoreApplication.CreateNewView 方法 Microsoft.UI.WindowingAppWindow.Create 方法
Windows.ApplicationModel.CoreCoreApplicationViewTitleBar Microsoft.UI.WindowingAppWindowTitleBar
Windows.ApplicationModel.CoreCoreApplicationViewTitleBar.ExtendViewIntoTitleBar 属性 Microsoft.UI.WindowingAppWindowTitleBar.ExtendsContentIntoTitleBar 属性。 平台继续为你绘制 “最小化/最大化/关闭 ”按钮,并报告遮挡信息。
Windows.ApplicationModel.CoreCoreApplicationViewTitleBar.Height 属性 Microsoft.UI.WindowingAppWindowTitleBar.Height 属性
Windows.ApplicationModel.CoreCoreApplicationViewTitleBar.SystemOverlayLeftInset 属性 Microsoft.UI.WindowingAppWindowTitleBar.LeftInset 属性
Windows.ApplicationModel.CoreCoreApplicationViewTitleBar.SystemOverlayRightInset 属性 Microsoft.UI.WindowingAppWindowTitleBar.RightInset 属性
Windows.ApplicationModel.Resources.Core 命名空间 Microsoft.Windows.ApplicationModel.Resources. 请参阅 MRT 到 MRT Core 的迁移
Windows.ApplicationModel.Resources.CoreResourceContext.GetForCurrentView 方法 Microsoft.Windows.ApplicationModel.ResourcesResourceManager.CreateResourceContext 方法。 请参阅 ResourceContext.GetForCurrentView 和 ResourceContext.GetForViewIndependentUse
Windows.ApplicationModel.Resources.CoreResourceContext.GetForViewIndependentUse 方法 Microsoft.Windows.ApplicationModel.ResourcesResourceManager.CreateResourceContext 方法。 请参阅 ResourceContext.GetForCurrentView 和 ResourceContext.GetForViewIndependentUse
Windows.ApplicationModel.Resources.CoreResourceManager.Current 属性 创建新的 (Microsoft.Windows.ApplicationModel.ResourcesResourceManager 对象。 请参阅 ResourceManager 类
Windows.ApplicationModel.Resources.CoreResourceQualifierObservableMap.MapChanged 事件 自己检测环境变化。 请参阅资源限定符值更改
Windows.Graphics.PrintingPrintManager Windows 应用 SDK 1.0 不支持。
Windows.Media.CaptureCameraCaptureUI Microsoft.Windows.Media.CaptureCameraCaptureUI
Windows.Security.Authentication.WebWebAuthenticationBroker Microsoft.Security.Authentication.OAuthOAuth2Manager 类(在 Windows App SDK 1.7 及更高版本中受支持)。 有关使用 OAuth2Manager 和相关 API 执行 OAuth 2.0 身份验证的详细信息,请参阅在 Windows 应用中实现 OAuth 功能。 有关完整的示例应用程序,请参阅 GitHub
Windows.Storage.PickersFileOpenPickerFileSavePickerFolderPicker 支持,但必须使用 IInitializeWithWindow 接口。 请参阅 MessageDialog 和 Pickers
Windows.System.DisplayDisplayRequest Windows 应用 SDK 1.0 不支持。
Windows.UI.Composition 命名空间 Microsoft.UI.Composition 命名空间
Windows.UI.CoreCoreDispatcher Microsoft.UI.DispatchingDispatcherQueue 类。 请参阅将 CoreDispatcher 更改为 DispatcherQueue
Windows.UI.CoreCoreDispatcher.RunAsync 方法 Microsoft.UI.DispatchingDispatcherQueue.TryEnqueue 方法。 请参阅将 RunAsync 更改为 TryEnqueue
Windows.UI.CoreCoreWindow Microsoft.UI.WindowingAppWindow 类。 请参阅窗口化功能迁移
Windows.UI.CoreCoreWindow.Bounds 属性(在 C# 中通常显示为 CoreWindow.GetForCurrentThread.Bounds Microsoft.UI.WindowingAppWindow.Size 属性
Windows.UI.CoreCoreWindow.GetForCurrentThread 方法 没有直接 1:1 映射到 Windows 应用 SDK API。 使用 XAML 时,可以获取 Window.AppWindow 以获取与 XAML 窗口关联的 AppWindow,但如果应用想要从不具有访问权限的某个位置访问,则需要缓存 Window 或 AppWindow。 建议缓存并公开应用对象上的窗口
Windows.UI.CoreCoreWindow.Activate 方法 Microsoft.UI.WindowingAppWindow.Show 方法
Windows.UI.CoreCoreWindow.Dispatcher 属性 Microsoft.UI.XamlWindow.DispatcherQueue 属性。 请参阅将 CoreWindow.Dispatcher 更改为 Window.DispatcherQueue
Windows.UI.CoreCoreWindow.SizeChanged 事件 Microsoft.UI.WindowingAppWindowChangedEventArgs.DidSizeChange 方法
Windows.UI.CoreSystemNavigationManager 类 (全局后退按钮) 不支持。 在你自己的 UI 中实现后退按钮。 请参阅 UWP PhotoLab 示例应用 (C#) 的 Windows 应用 SDK 迁移
Windows.UI.CoreWindowSizeChangedEventArgs Microsoft.UI.XamlWindowSizeChangedEventArgs 类,例如,在 Microsoft.UI.XamlWindow.SizeChanged 的处理程序中。
Windows.UI.PopupsMessageDialog 支持,但必须使用 IInitializeWithWindow 接口。 请参阅 MessageDialog 和 Pickers
Windows.UI.Text.CoreCoreTextServicesManager 仅在 Windows 11 上受支持。
Windows.UI.ViewManagementAccessibilitySettings.HighContrastChanged 事件 Microsoft.UI.SystemThemeSettings.Changed 事件
Windows.UI.ViewManagementApplicationView Microsoft.UI.WindowingAppWindow
Windows.UI.ViewManagementApplicationView.Title 属性 Microsoft.UI.WindowingAppWindow.Title 属性
Windows.UI.ViewManagementApplicationView.TryConsolidateAsync 方法 Microsoft.UI.WindowingAppWindow.Destroy 方法
Windows.UI.ViewManagementApplicationView.TryEnterFullScreenMode 方法 Microsoft.UI.WindowingAppWindow.SetPresenter 方法使用 AppWindowPresenterKind.FullScreen
Windows.UI.ViewManagementApplicationView.TryEnterViewModeAsync 方法与 ApplicationViewMode.CompactOverlay Microsoft.UI.WindowingAppWindow.SetPresenter 方法, 使用 AppWindowPresenterKind.CompactOverlay
Windows.UI.ViewManagementApplicationView.TryResizeView 方法 Microsoft.UI.WindowingAppWindow.Resize 方法
Windows.UI.ViewManagementApplicationViewMode.CompactOverlay 字段 Microsoft.UI.WindowingAppWindowPresenterKind.CompactOverlay 字段
Windows.UI.ViewManagementApplicationViewTitleBar Microsoft.UI.WindowingAppWindowTitleBar
Windows.UI.ViewManagementApplicationViewWindowingMode.FullScreen 字段 Microsoft.UI.WindowingAppWindowPresenterKind.FullScreen 字段
Windows.UI.WindowManagementAppWindow Microsoft.UI.WindowingAppWindow
Windows.UI.WindowManagementAppWindow.Changed 事件 Microsoft.UI.WindowingMicrosoft.UI.Windowing.AppWindow.Changed 事件
Windows.UI.WindowManagementAppWindow.CloseAsync 方法 Microsoft.UI.WindowingAppWindow.Destroy 方法
Windows.UI.WindowManagementAppWindow.GetPlacement 方法 Microsoft.UI.WindowingAppWindow.Position 属性
Windows.UI.WindowManagementAppwindow.RequestMoveXxx 方法 Microsoft.UI.WindowingAppWindow.Move 方法
Windows.UI.WindowManagementAppWindow.RequestSize 方法 Microsoft.UI.WindowingAppWindow.Resize 方法
Windows.UI.WindowManagementAppWindow.Title 属性 Microsoft.UI.WindowingAppWindow.Title 属性
Windows.UI.WindowManagementAppWindow.TryCreateAsync 方法 Microsoft.UI.WindowingAppWindow.Create 方法
Windows.UI.WindowManagementAppWindow.TryShowAsync 方法 Microsoft.UI.WindowingAppWindow.Show 方法
Windows.UI.WindowManagementAppWindowChangedEventArgs.DidSizeChange 方法 Microsoft.UI.WindowingAppWindowChangedEventArgs.DidSizeChange 方法
Windows.UI.WindowManagementAppWindowPlacement.Size 属性 Microsoft.UI.WindowingAppWindow.Size 属性
Windows.UI.WindowManagementAppWindowPresentationKind.CompactOverlay 字段 Microsoft.UI.WindowingAppWindowPresenterKind.CompactOverlay 字段
Windows.UI.WindowManagementAppWindowPresentationKind.FullScreen 字段 Microsoft.UI.WindowingAppWindowPresenterKind.FullScreen 字段
Windows.UI.WindowManagementAppWindowPresenter.RequestPresentation 方法 Microsoft.UI.WindowingAppWindow.SetPresenter 方法
Windows.UI.WindowManagementAppWindowTitleBar Microsoft.UI.WindowingAppWindowTitleBar
Windows.UI.WindowManagementAppWindowTitleBar.GetPreferredVisibility 没有直接 1:1 映射到 Windows 应用 SDK API
Windows.UI.WindowManagementAppWindowTitleBar.GetTitleBarOcclusions Microsoft.UI.WindowingAppWindowTitleBar.LeftInsetRightInset(加上 Height)提供相同的信息。
Windows.UI.WindowManagementAppWindowTitleBar.SetPreferredVisibility 没有直接 1:1 映射到 Windows 应用 SDK API
Windows.UI.WindowManagementAppWindowTitleBarOcclusion 属性 Microsoft.UI.WindowingAppWindowTitleBar.LeftInsetRightInset(加上 Height)提供相同的信息。
Windows.UI.WindowManagementAppWindowTitleBarVisibility 没有直接 1:1 映射到 Windows 应用 SDK API
Windows.UI.Xaml 命名空间 Microsoft.UI.Xaml 命名空间
Windows.UI.XamlApplication.OnActivated 方法(通常以 C# 形式显示 App.OnActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
Windows.UI.XamlApplication.OnBackgroundActivated 方法(通常以 C# 形式显示 App.OnBackgroundActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
Windows.UI.XamlApplication.OnCachedFileUpdaterActivated 方法(通常以 C# 形式显示 App.OnCachedFileUpdaterActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
Windows.UI.XamlApplication.OnFileActivated 方法(通常以 C# 形式显示 App.OnFileActivated 请参阅字段类型关联OnActivated、OnBackgroundActivated 和其他激活处理方法
Windows.UI.XamlApplication.OnFileOpenPickerActivated 方法(通常以 C# 形式显示 App.OnFileOpenPickerActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
Windows.UI.XamlApplication.OnFileSavePickerActivated 方法(通常以 C# 形式显示 App.OnFileSavePickerActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
Windows.UI.XamlApplication.OnSearchActivated 方法(通常以 C# 形式 App.OnSearchActivated显示) 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
Windows.UI.XamlApplication.OnShareTargetActivated 方法(通常以 C# 形式显示 App.OnShareTargetActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
Windows.UI.XamlWindow.Current 属性 弃用,并返回 null。 有关替代方法,请参阅将 Window.Current 更改为 App.Window
Windows.UI.XamlWindow.Dispatcher 属性(通常用 C# 编写为 Window.Current.Dispatcher Microsoft.UI.XamlWindow.DispatcherQueue 属性
Windows.UI.Xaml.ControlsContentDialog Microsoft.UI.Xaml.ControlsContentDialog 受支持,但必须设置其 XamlRoot 属性。 请参阅 ContentDialog 和 Popup
Windows.UI.Xaml.ControlsInkCanvas Windows 应用 SDK 1.0 不支持。
Windows.UI.Xaml.ControlsMediaElement Windows 应用 SDK 1.0 不支持。
Windows.UI.Xaml.Controls.MapsMapControl Microsoft.UI.Xaml.ControlsMapControl
Windows.UI.Xaml.Controls.PrimitivesPopup Microsoft.UI.Xaml.Controls.Primitives) 支持 弹出窗口 ,但必须设置其 XamlRoot 属性。 请参阅 ContentDialog 和 Popup
Windows.UI.Xaml.MediaAcrylicBrush.BackgroundSource 属性 在 Windows 应用 SDK 中,(Microsoft.UI.Xaml.MediaAcrylicBrush 始终从应用内容中采样。 请参阅 AcrylicBrush.BackgroundSource 属性
C++/WinRT. co_await winrt.resume_foreground(this->Dispatcher()); 请参阅 Migrate winrt.resume_foreground

第三方库

本节介绍 UWP 中支持的各种库,在使用 WinUI 3 时需要更改。

UWP Windows 应用 SDK
OneDrive SDK Microsoft Graph SDK

另请参阅