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

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

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

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

UWP Windows 应用 SDK
(Windows.ApplicationModel.Activation) LaunchActivatedEventArgs (Microsoft.UI.Xaml) LaunchActivatedEventArgs 类;例如,在 App.OnLaunched 中。
(Windows.ApplicationModel.Core) CoreApplication.CreateNewView 方法 (Microsoft.UI.Windowing) AppWindow.Create 方法
(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.Core) CoreApplicationViewTitleBar.SystemOverlayRightInset 属性 (Microsoft.UI.Windowing) AppWindowTitleBar.RightInset 属性
Windows.ApplicationModel.Resources.Core 命名空间 Microsoft.Windows.ApplicationModel.Resources。 请参阅 MRT 到 MRT Core 的迁移
(Windows.ApplicationModel.Resources.Core) ResourceContext.GetForCurrentView 方法 (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 属性 创建一个新的 ( Microsoft.Windows.ApplicationModel.Resources ) ResourceManager 对象。 请参阅 ResourceManager 类
(Windows.ApplicationModel.Resources.Core) ResourceQualifierObservableMap.MapChanged 事件 自己检测环境变化。 请参阅资源限定符值更改
(Windows.Graphics.Printing) PrintManager Windows 应用 SDK 1.0 不支持。
(Windows.Media.Capture) CameraCaptureUI Windows 应用 SDK 1.0 不支持。
(Windows.Security.Authentication.Web) WebAuthenticationBroker Windows 应用 SDK 1.0 不支持。
(Windows.Storage.Pickers) FileOpenPickerFileSavePickerFolderPicker 支持,但必须使用 IInitializeWithWindow 接口。 请参阅 MessageDialog 和 Pickers
(Windows.System.Display) DisplayRequest Windows 应用 SDK 1.0 不支持。
Windows.UI.Composition 命名空间 Microsoft.UI.Composition 命名空间
(Windows.UI.Core) CoreDispatcher (Microsoft.UI.Dispatching) DispatcherQueue 类。 请参阅将 CoreDispatcher 更改为 DispatcherQueue
(Windows.UI.Core) CoreDispatcher.RunAsync 方法 (Microsoft.UI.Dispatching) DispatcherQueue.TryEnqueue 方法。 请参阅将 RunAsync 更改为 TryEnqueue
(Windows.UI.Core) CoreWindow (Microsoft.UI.Windowing) AppWindow 类。 请参阅窗口化功能迁移
(Windows.UI.Core) CoreWindow.Bounds 属性(通常在 C# 显示为 CoreWindow.GetForCurrentThread.Bounds (Microsoft.UI.Windowing) AppWindow.Size 属性
(Windows.UI.Core) CoreWindow.GetForCurrentThread 方法 没有直接 1:1 映射到 Windows 应用 SDK API。 使用 XAML 时,可以获取 Window.AppWindow 以获取与 XAML 窗口关联的 AppWindow,但如果应用想要从不具有访问权限的某个位置访问它,则需要缓存 WindowAppWindow。 建议缓存并公开应用对象上的窗口
(Windows.UI.Core) CoreWindow.Activate 方法 (Microsoft.UI.Windowing) AppWindow.Show 方法
(Windows.UI.Core) CoreWindow.Dispatcher 属性 (Microsoft.UI.Xaml) Window.DispatcherQueue 属性。 请参阅将 CoreWindow.Dispatcher 更改为 Window.DispatcherQueue
(Windows.UI.Core) CoreWindow.SizeChanged 事件 (Microsoft.UI.Windowing) AppWindowChangedEventArgs.DidSizeChange 方法
(Windows.UI.Core) SystemNavigationManager 类(全局后退按钮)global back button) 不支持。 在你自己的 UI 中实现后退按钮。 请参阅 UWP PhotoLab 示例应用 (C#) 的 Windows 应用 SDK 迁移
(Windows.UI.Core) WindowSizeChangedEventArgs (Microsoft.UI.Xaml) WindowSizeChangedEventArgs 类,例如,在 (Microsoft.UI.Xaml) Window.SizeChanged 的处理程序中。
(Windows.UI.Popups) MessageDialog 支持,但必须使用 IInitializeWithWindow 接口。 请参阅 MessageDialog 和 Pickers
(Windows.UI.Text.Core) CoreTextServicesManager 仅在 Windows 11 上受支持。
(Windows.UI.ViewManagement) ApplicationView (Microsoft.UI.Windowing) AppWindow
(Windows.UI.ViewManagement) ApplicationView.Title 属性 (Microsoft.UI.Windowing) AppWindow.Title 属性
(Windows.UI.ViewManagement) ApplicationView.TryConsolidateAsync 方法 (Microsoft.UI.Windowing) AppWindow.Destroy 方法
(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 方法 (Microsoft.UI.Windowing) AppWindow.Resize 方法
(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 field
(Windows.UI.WindowManagement) AppWindow (Microsoft.UI.Windowing) AppWindow
(Windows.UI.WindowManagement) AppWindow.Changed 事件 (Microsoft.UI.Windowing) Microsoft.UI.Windowing.AppWindow.Changed 事件
(Windows.UI.WindowManagement) AppWindow.CloseAsync 方法 (Microsoft.UI.Windowing) AppWindow.Destroy 方法
(Windows.UI.WindowManagement) AppWindow.GetPlacement 方法 (Microsoft.UI.Windowing) AppWindow.Position 属性
(Windows.UI.WindowManagement) Appwindow.RequestMoveXxx 方法 (Microsoft.UI.Windowing) AppWindow.Move 方法
(Windows.UI.WindowManagement) AppWindow.RequestSize 方法 (Microsoft.UI.Windowing) AppWindow.Resize 方法
(Windows.UI.WindowManagement) AppWindow.Title 属性 (Microsoft.UI.Windowing) AppWindow.Title 属性
(Windows.UI.WindowManagement) AppWindow.TryCreateAsync 方法 (Microsoft.UI.Windowing) AppWindow.Create 方法
(Windows.UI.WindowManagement) AppWindow.TryShowAsync 方法 (Microsoft.UI.Windowing) AppWindow.Show 方法
(Windows.UI.WindowManagement) AppWindowChangedEventArgs.DidSizeChange 方法 (Microsoft.UI.Windowing) AppWindowChangedEventArgs.DidSizeChange 方法
(Windows.UI.WindowManagement) AppWindowPlacement.Size 属性 (Microsoft.UI.Windowing) AppWindow.Size 属性
(Windows.UI.WindowManagement) AppWindowPresentationKind.CompactOverlay 字段 (Microsoft.UI.Windowing) AppWindowPresenterKind.CompactOverlay 字段
(Windows.UI.WindowManagement) AppWindowPresentationKind.FullScreen 字段 (Microsoft.UI.Windowing) AppWindowPresenterKind.FullScreen field
(Windows.UI.WindowManagement) AppWindowPresenter.RequestPresentation 方法 (Microsoft.UI.Windowing) AppWindow.SetPresenter 方法
(Windows.UI.WindowManagement) AppWindowTitleBar (Microsoft.UI.Windowing) AppWindowTitleBar
(Windows.UI.WindowManagement) AppWindowTitleBar.GetPreferredVisibility 没有直接 1:1 映射到 Windows 应用 SDK API
(Windows.UI.WindowManagement) AppWindowTitleBar.GetTitleBarOcclusions (Microsoft.UI.Windowing) AppWindowTitleBar.LeftInsetRightInset(与 Height 结合)提供相同的信息。
(Windows.UI.WindowManagement) AppWindowTitleBar.SetPreferredVisibility 没有直接 1:1 映射到 Windows 应用 SDK API
(Windows.UI.WindowManagement) AppWindowTitleBarOcclusion 属性 (Microsoft.UI.Windowing) AppWindowTitleBar.LeftInsetRightInset(与 Height 结合)提供相同的信息。
(Windows.UI.WindowManagement) AppWindowTitleBarVisibility 没有直接 1:1 映射到 Windows 应用 SDK API
Windows.UI.Xaml 命名空间 Microsoft.UI.Xaml 命名空间
(Windows.UI.Xaml) Application.OnActivated 方法(通常在 C# 中显示为 App.OnActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
(Windows.UI.Xaml) 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 和其他激活处理方法
(Windows.UI.Xaml) Application.OnFileSavePickerActivated 方法(通常在 C# 显示为 App.OnFileSavePickerActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
(Windows.UI.Xaml) Application.OnSearchActivated 方法(通常在 C# 中显示为 App.OnSearchActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
(Windows.UI.Xaml) Application.OnShareTargetActivated 方法(通常在 C# 中显示为 App.OnShareTargetActivated 请参阅OnActivated、OnBackgroundActivated 和其他激活处理方法
(Windows.UI.Xaml) Window.Current 属性 弃用,并返回 null。 有关替代方法,请参阅将 Window.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 Windows 应用 SDK 1.0 不支持。
(Windows.UI.Xaml.Controls) MediaElement Windows 应用 SDK 1.0 不支持。
(Windows.UI.Xaml.Controls.Maps) MapControl Microsoft.UI.Xaml.ControlsMapControl
(Windows.UI.Xaml.Controls.Primitives) Popup 支持 (Microsoft.UI.Xaml.Controls.Primitives) Popup,但必须设置其 XamlRoot 属性。 请参阅 ContentDialog 和 Popup
(Windows.UI.Xaml.Media) AcrylicBrush.BackgroundSource 属性 在 Windows 应用 SDK 中,(Microsoft.UI.Xaml.Media ) AcrylicBrush 总是从应用内容中采样。 请参阅 AcrylicBrush.BackgroundSource 属性
C++/WinRTco_await winrt.resume_foreground(this->Dispatcher()); 请参阅 Migrate winrt.resume_foreground

第三方库

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

UWP Windows 应用 SDK
OneDrive SDK Microsoft Graph SDK

另请参阅