Windows 10 中面向开发人员的新增功能
Windows 10 及新增的开发人员工具将提供新通用 Windows 平台支持的工具、功能和体验。在 Windows 10 上安装完工具和 SDK后,你可以随时创建新的通用
Windows 应用,或了解如何使用Windows 上的现有应用代码。
针对 Windows 10 进行生成
凯文·盖洛提供系统的快速纲要以及直接支持新的 Windows 10 开发体验的工具更新。
通用 Windows 平台指南
了解通用 Windows 平台如何将自适应 UI 控件用于不同的设备类型,以及它如何使用运行 Windows 10 的所有设备上必须具有的通用 API 集。
Windows 10 上的游戏
了解玩家如何才能进行连接和玩游戏 - 玩家的游戏、好友和成就将在其所有 Windows 设备上保持一致。
自适应布局
StateTriggers使用新的VisualState.StateTriggers功能,你可以基于窗口高度/宽度或者基于自定义触发器有条件地设置相关属性。之前,你必须在代码中处理 |
Setters使用新的VisualState.Setters语法,你可以使用简化的标记定义VisualStateManager中的属性更改。之前,你必须使用情节提要并创建动画来应用属性更改,例如将StackPanel的方向从水平更改为垂直。在通用
|
XAML 功能
已编译的数据绑定 (x:Bind)在通用 Windows 应用中,你可以使用基于编译器的新绑定机制,该机制可通过 x:Bind 属性进行启用。基于编译器的绑定将在编译时严格设置类型并进行处理,这将非常快速并且会在绑定类型不匹配时提供编译时错误。因为绑定已转换为编译的应用代码,所以你现在就可以调试绑定,方法是在 Visual Studio 中逐步执行代码以诊断特定的绑定问题。你还可以使用 x:Bind 绑定到某一方法,如下所示:
对于典型的绑定方案,你可以使用 x:Bind 替代绑定,从而获得改进的性能和可维护性。 |
列表的声明性增量呈现 (x:Phase)在通用 Windows 应用中,新的 x:Phase 属性允许你借助 XAML(而非代码)执行列表的增量呈现或阶段性呈现。当平移带有复杂项目的较长列表时,你的应用呈现项目的速度可能不足以跟上平移的速度,致使你的用户获得了一次槽糕的体验。阶段性呈现让你可以在某一列表项目中指定个别元素的呈现优先级,以便仅该列表项目中最重要的部分才能在快速平移方案中呈现。这将为你的用户提供一次较为顺畅的平移体验。 在 Windows 8.1 中,你可以处理ContainerContentChanging事件,并编写用于分阶段呈现列表项目的代码。在 |
UI 元素的延迟加载 (x:DeferLoadingStrategy)在通用 Windows 应用中,新的 x:DeferLoadingStrategy 指令允许你指定要延迟加载的用户界面部分,从而改进启动性能并减少应用的内存使用量。例如,如果你的应用 UI 中存在一个仅在输入错误数据时才显示的数据验证元素,则你可以根据需要延迟该元素的加载。随后,这些元素对象将不会在加载页面时创建,它们只会在发生数据错误或者需要添加到页面的可视树时才会进行创建。 |
SplitView借助新的SplitView控件,你可以轻松显示和隐藏瞬态内容。该控件通常用于“汉堡包菜单”之类的*导航方案,其中导航内容处于隐藏状态,可按需滑入作为用户操作的结果。 |
RelativePanelRelativePanel是一种新型的布局面板,该面板允许你放置子对象并使其相互对齐或与父面板对齐。例如,你可以指定某些文本应始终置于该面板的左侧,并指定按钮应始终向下对齐文本。当创建没有明确的线性模式的用户模式但却要求使用StackPanel或Grid时,可使用 |
CalendarView借助CalendarView控件,可使用基于月份的自定义视图轻松查看和选择日期以及日期范围。CalendarView |
CalendarDatePickerCalendarDatePicker是一个下拉式控件,该控件已针对从CalendarView 选取某个日期进行了优化,尤其是能够显示诸如星期几或丰富的日历信息等上下文信息。它类似于DatePicker控件,不过 |
MediaTransportControls借助新的MediaTransportControls类,可更轻松地自定义MediaElement的传输控件。在 |
属性更改通知在通用 Windows 应用中,你可以听 DependencyObjects 上的属性更改,即便是属性没有对应的更改事件也是如此。 通知的操作行为类似于事件,但实际上显示为回调。与事件处理程序一样,回调将提取一个发件人参数,但不会提取事件参数。而是,将仅传递属性标识符来指示是哪个属性。借助此信息,你的应用可以定义多个属性通知的单个处理程序。有关详细信息,请参阅 RegisterPropertyChangedCallback 和UnregisterPropertyChangedCallback。 |
地图已更新为提供 3D 鸟瞰图和街景视图的MapControl类。这些新功能和早期的映射功能现在可用于
若要立即开始在 Universal Windows App 中使用这些 API,请从必应地图开发人员中心请求一个密钥。有关详细信息,请参阅如何验证地图应用。同样作为 |
输入按钮映射Windows.UI.Xaml.Input.KeyEventArgs类具有新的OriginalKey属性以及对Windows.System.VirtualKey所做的相应更新,从而让你可以获取与键盘输入事件关联的原始且未映射的输入按钮。 |
墨迹书写借助InkCanvas控件和基础InkPresenter类,现在可以更容易地使用采用 InkCanvas控件定义了一个用于绘制和呈现墨迹笔划的覆盖区域。此控件的功能(输入、处理和呈现)源自InkPresenter、InkStroke、InkRecognizers和InkSynchronizer类。 重要提示这些类在使用 JavaScript 的 Windows 应用中不受支持。 |
已更新的 XAML 功能
CommandBar 和 AppBar 更新CommandBar和AppBar控件已针对跨设备系列的 适用于通用 Windows 应用的 CommandBar 控件已得到了改进,从而可提供 AppBar 功能的超集,并且针对如何将其用于你的应用提供了更大的灵活性。对于 Windows 10 上所有新的通用 Windows 应用,应使用 CommandBar。在 Windows 8.1 的 CommandBar 中,你只能使用已实现ICommandBarElement的控件,如AppBarButton。在通用 AppBar 控件已得到了更新,以便你可以更加轻松地将使用 AppBar 的 Windows 8.1 应用移动到通用 Windows 平台。AppBar 设计为可与全屏应用一起使用并且可通过边缘手势进行调用。针对诸如 Window 应用以及 Window 10 中缺少边缘手势等问题对控件帐户进行更新。 之前仅在 Windows Phone 上提供的隐藏AppBar.ClosedDisplayMode现在在所有设备系列上均受支持,从而让你可以在不同的命令提示级别之间选择。AppBar 新的AppBarAPI:Closing、OnClosing、Opening、OnOpening、TemplateSettings 新的CommandBarAPI:CommandBarOverflowPresenterStyle和CommandBarOverflowPresenter |
GridView 更新在 Windows 10 之前的版本中,默认的GridView布局方向在 Windows 上为水平方向,而在 Windows |
AreStickyGroupHeadersEnabled 属性当你在ListView或GridView中显示分组数据时,组标头将在列表滚动时保持可见状态。这对于大型数据集很重要,其中标头为用户正在查看的数据提供了上下文。不过,在每个组中仅具有少数几个元素时,你可能会希望标头随着项目滚动至屏幕外。你可以通过设置ItemsStackPanel和ItemsWrapGrid上的 |
GroupHeaderContainerFromItemContainer 方法当你在ItemsControl中显示分组数据时,你可以通过调用GroupHeaderContainerFromItemContainer方法,获取对该组父标头的引用。例如,如果用户要在某组中删除最后一项,你可以获取对该组标头的引用,并同时删除该项和组标头。 |
ChoosingGroupHeaderContainer 事件借助ListViewBase上的新ChoosingGroupHeaderContainer事件,你可以在 |
ChoosingItemContainer 事件借助 ListViewBase 上的新ChoosingItemContainer事件,你可以更好地控制ListView或GridView中的 |
列表滚动虚拟化XAMLListView和GridView控件中有一个新ListViewBase.ChooseingItemContainer事件,该事件可在数据集合中发生更改时改进控件的性能。 系统现在将当前项与焦点状态和选择状态保留在视图中,而不是执行该列表的完全重置,这将重新播放 Entrance 动画;视口中的新项和已删除的项将流畅地闪烁。一旦未破坏的容器中的数据集合发生变化,应用即可快速将所有“旧”项与其之前的容器匹配,并跳过容器生命周期替代方法的进一步处理。仅“新”项得到处理并与回收的容器或新容器相关联。 |
SelectRange 方法和 SelectedRanges 属性在通用 Windows 应用中,借助ListView和GridView控件,你现在可以根据项目索引的范围(而非项目对象引用)选择相应项目。这对于描述项目选项而言是一种非常有效的方式,因为无需针对每个选定项目创建项目对象。有关详细信息,请参阅ListViewBase.SelectedRanges、ListViewBase.SelectRange和ListViewBase.DeselectRange。 |
新 ListViewItemPresenter APIListView和GridView使用项目表示器来提供默认的视觉对象,以供选择和着重显示。在 |
SemanticZoom 更新对于跨所有设备系列的 UWP 应用,SemanticZoom控件现在具有一致的行为。 在放大视图和缩小视图之间切换的默认操作是,点击放大视图上的组标头。这与 Windows Phone 8.1 上的此类行为相同,不过在 Windows 8.1 上有所变动,因为其中使用了收缩手势进行缩放。若要使用收缩手势更改视图,应在 SemanticZoom 的内部 ScrollViewer 上设置ScrollViewer.ZoomMode="Enabled"。 对于通用 Windows 应用,缩小视图将替代放大视图,并且前者与所替换的视图的大小相同。这与 Windows 8.1 上的此类行为相同,不过在 Windows Phone 8.1 上有所变动,因为其中缩小视图会占用整个屏幕,并且会在其他所有内容的顶部呈现。 |
DatePicker 和 TimePicker 更新对于跨所有设备系列的通用 Windows 应用,DatePicker和TimePicker控件现在具有一个一致的实现。此外,它们在 |
新的 ScrollViewer APIScrollViewer具有新的DirectManipulationStarted和DirectManipulationCompleted事件,可在触摸平移开始和停止时通知应用。你可以处理这些事件,以通过这些用户操作调整 |
MenuFlyout 更新通用 Windows 应用提供了可更轻松地构建更好的上下文菜单的全新 API。新MenuFlyout.ShowAt方法可用于指定浮出控件相对于其他元素的出现位置。(并且,你的 |
ContentPresenter、Grid 和 StackPanel 的新边框属性常用容器控件具有新的边框属性,可用于在其周围绘制边框,而无需向你的 XAML 添加额外的边框元素。ContentPresenter、Grid和StackPanel具有以下新属性: |
ContentPresenter 上的新文本 APIContentPresenter具有可更好地控制文本显示的新 API: LineHeight、LineStackingStrategy、MaxLines |
系统焦点视觉对象XAML 控件的焦点视觉对象现在由系统创建,而不是在控件模版中被声明为 XAML 元素。移动设备通常不需要焦点视觉对象,让系统按需创建并管理它们可改进应用性能。如果你需要更好地控制焦点视觉对象,可以替换该系统行为并提供定义焦点视觉对象的自定义控件模板。有关详细信息,请参阅UseSystemFocusVisuals和IsTemplateFocusTarget。 |
PasswordBox.PasswordRevealMode在通用 Windows 应用中,PasswordRevealMode属性将替换 警告: 在 Windows 10 之前的版本中,密码显示按钮默认处于不显示状态;在通用 Windows 应用中,它默认处于显示状态。如果设备安全要求始终掩盖密码,请务必将 PasswordRevealMode 设置为 Hidden。 |
Control.IsTextScaleFactorEnabled以前可在 Windows Phone 8.1 上使用的IsTextScaleFactorEnabled属性现在可用于所有设备系列上的通用 |
AutoSuggestBoxWindows Phone 8.1 中的AutoSuggestBox控件现在可用于所有设备系列上的通用 |
ContentDialogWindows Phone 8.1 中的ContentDialog控件现在可用于所有设备系列上的通用 Windows |
PivotWindows Phone 8.1 中的Pivot控件现在可用于所有设备系列上的通用 Windows 应用。现在,你可以将相同的 |
文本
Windows 内核文本 API新的Windows.UI.Text.Core命名空间具有一个客户端-服务器系统功能,该系统可将键盘输入处理集中到单个服务器。 你可以使用它来操作自定义文本输入控件的编辑缓冲区。通过应用和服务器之间的异步通信通道,文本输入服务器可确保你的文本输入控件及其本身的编辑缓冲区内容始终保持同步。 |
矢量图标Glyphs元素具有新的IsColorFontEnabled和ColorFontPalleteIndex属性,可支持彩色字体;现在,你可以使用字体文件呈现基于字体的图标。在将 |
“输入法编辑器”窗口事件用户有时通过“输入法编辑器”输入文本,该编辑器显示在窗口中文本输入框的正下方(通常用于东亚语言)。若要使你的应用 UI 与 IME 窗口相得益彰,你可以对TextBox和RichEditBox使用 |
文本撰写事件TextBox和RichEditBox具有以下新事件,可在使用“输入法编辑器”撰写文本时通知应用: |
改进的双向文本处理XAML 文本控件具有全新 API,可改进双向文本处理,从而针对各种输入语言生成更好的文本对齐方式和段落方向。 TextReadingOrder 属性的默认值已更改为 DetectFromContent,因此对检测读取顺序的支持在默认情况下处于启用状态。TextReadingOrder 属性也已添加到 PasswordBox、RichEditBox 和 TextBox。 若要选择从内容自动检测对齐方式,可以将文本控件的 TextAlignment 属性设置为新的 DetectFromContent 值。 |
文本呈现在 Windows 10 中,在大多数情况下,现在 XAML 应用中的文本的呈现速度几乎是 Windows 8.1 的两倍。在大多数情况下,你的应用将受益于此改进而无需任何更改。除了更快的呈现速度以外,这些改进还使 XAML 应用的常规内存消耗减少了 5%。 |
应用程序模型
Cortana通过语音命令扩展Cortana的基本功能,这些命令用于在外部应用程序中启动并执行一个单独操作。 通过集成应用的基本功能,并通过为用户提供中心入口点以便在无需直接打开应用的情况下完成大多数任务,Cortana可以充当应用和用户之间的联络人。在大多数情况下,这可以为用户节省大量时间和精力。 了解如何将应用集成到 Cortana Canvas。如果你需要创意,可以参考通用 |
文件资源管理器新的Windows.System.Launcher.LaunchFolderAsync方法允许你启动文件资源管理器并显示所指定的文件夹的内容。 |
共享存储新的Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager类及其方法允许你与另一个应用共享文件,方法是当通过使用 |
设置通过将 ms-settings 协议与LaunchUriAsync方法结合使用,显示内置的设置页面��例如,以下代码可用于显示
有关可以显示的设置页面列表,请参阅如何使用 ms-settings 协议显示内置设置页面。 |
应用到应用的通信通过 Windows 10 中新增的应用到应用的通信API,Windows 应用程序(以及 Windows Web 应用程序)可以相互启动并交换数据和文件。 利用这些新 API,使得原本需要用户使用多个应用程序才能完成的复杂任务现在可以无缝地进行处理。例如,你的应用可启动社交网络应用来选择联系人,或启动结算应用程序来完成支付流程。 |
应用服务在 Windows 10 中,应用可以使用应用服务为其他应用提供服务。应用服务采用后台任务形式。前台应用可通过在其他应用中调用应用服务,在后台执行任务。有关应用服务 API 的参考信息,请参阅Windows.ApplicationModel.AppService。 |
设备
Microsoft Surface HubMicrosoft Surface Hub 是一个功能强大的团队协作设备,也是一个适用于 Universal Windows App(可在 Surface Hub 上本机运行也可在连接设备上运行)的大屏幕平台。 Universal Windows App 请参阅Universal Windows App 设计基础知识中特定于 Surface Hub 的设计建议和 UX 指南。这些文档介绍了面向 Universal Windows App 的响应式设计技术。
|
位置Windows 10 引入了一个新方法RequestAccessAsync来提示用户提供其位置的访问权限。 用户可通过“设置”应用中的“位置隐私设置”,设置其位置数据的隐私。仅当出现以下情况时你的应用才可以访问用户的位置:
在访问用户的位置之前,务必调用RequestAccessAsync。此时,你的应用必须在前台,并且RequestAccessAsync必须从 UI 线程中进行调用。除非用户向你的应用授予访问其位置的权限,否则你的应用无法访问位置数据。 |
AllJoynWindows.Devices.AllJoynWindows 运行时命名空间引入了 Microsoft 实现的 AllJoyn 开放源代码软件框架和服务。这些 使用该版本中所包含的AllJoynCodeGen工具,生成可用于在设备应用中启用 AllJoyn 方案的 Windows 组件。 注意:Windows 10 IoT Core 当前适用于一类新的小型设备,并且允许你使用 Windows 和 Visual Studio 创建“物联网”(IoT) 设备。了解有关 Windows IoT 的详细信息,网址为WindowsOnDevices.com |
移动设备上的打印 API (XAML)你可以使用一个统一的 API 组,在设备系列(包括移动设备)上通过基于 XAML 的 UWP 应用进行打印。现在,你可以从 Windows.Graphics.Printing 和 Windows.UI.Xaml.Printing 命名空间使用熟悉的与打印相关的 API,将打印添加到你的移动应用。 |
电池通过Windows.Devices.Power命名空间中的电池 API,你的应用可了解连接到正在运行该应用的设备的所有电池的详细信息。
|
MIDI 设备新的Windows.Devices.Midi命名空间允许你创建以下内容:
|
自定义传感器支持Windows.Devices.Sensors.Custom命名空间允许硬件开发人员定义新的自定义传感器类型,例如 CO2 |
基于主机的卡片模拟 (HCE)使用主机卡模拟,可实现操作系统中所托管的 NFC 卡片模拟服务,并且仍然可以通过 NFC 射频硬件与外部读取器通信。 实现后台任务需通过 NFC 模拟智能卡。若要触发后台任务,请使用SmartCardTrigger类。 SmartCardTriggerType枚举中的 EmulatorHostApplicationActivated |
图形
DirectXWindows 10 中的 DirectX 12 在 DirectX 的核心处引入了下一代版本的 Microsoft Direct3D,即 3D Graphics API。Direct3D 12 Graphics能使低级别、类似控制台的 |
SoftwareBitmapSource在通用 Windows 应用中,可将新的SoftwareBitmapSource类型用作 |
透视相机在通用 Windows 应用中,XAML 具有全新 Transform3D API,它可用于将透视转换应用到 XAML 树(或场景),后者再根据该单一场景范围的转换(或相机)来转换所有 XAML 子元素。虽然在以前,你可以通过使用 MatrixTransform 和复杂的数学运算来实现此转换,但是 Transform3D 显著地简化了此效果,同时还可以动画方式呈现该效果。有关详细信息,请参阅UIElement.Transform3D属性、Transform3D、CompositeTransform3D和PerspectiveTransform3D。 |
媒体
HTTP 实时流你可以使用新的AdaptiveMediaSource类将自适应视频流功能添加到你的应用。通过将对象指向流清单文件对其进行初始化。受支持的清单格式包括 |
媒体基础转换代码视频处理器 (XVP) 支持媒体基础转换 (MFT)使用媒体基础转换 (MFT) 的 Windows 应用现在可以使用媒体基础转换代码视频处理器(XVP) 来转换、缩放和转化原始视频数据:
|
转码新MediaProcessingTriggerAPI |
MediaElement 媒体失败事件在通用 Windows 应用中,MediaElement将播放包含多个流的内容,即使其中一个流具有解码错误,只要媒体内容包含至少一个有效流即可。例如,如果包含音频流和视频流的内容中的视频流失败,MediaElement仍将播放音频流。PartialMediaFailureDetected会通知你流内的其中一个流无法解码。它还允许你知道哪种类型的流失败,以便你可以在 |
通过 MediaElement 支持自适应视频流MediaElement具有新的SetPlaybackSource方法,可支持自适应视频流。若要将你的媒体源设置为 |
通过“MediaElement 和图像”进行强制转换“MediaElement和图像”控件具有新的GetAsCastingSource方法。你可以使用此方法,以编程方式将任何媒体或图像元素中的内容发送到更多远程设备,如 |
桌面应用的媒体传输控件ISystemMediaTransportControls接口和相关的 API 允许桌面应用与内置的系统媒体传输控件交互。这包括使用传输控件按钮响应用户交互,以及更新传输控件显示,以显示有关当前正在播放的媒体内容的元数据。 |
随机访问 JPEG 编码和解码新的 WIC 方法IWICJpegFrameEncode和IWICJpegFrameDecode支持 |
媒体组合的重叠新MediaOverlay和MediaOverlayLayerAPI |
新效果框架Windows.Media.Effects命名空间提供了简单、直观的框架,以便将效果添加到音频和视频流。框架包含可以实现创建自定义的音频和视频效果并将它们插入到媒体管道的基本接口。 |
网络
套接字套接字更新包括:
|
后台传输后续处理任务你可以利用Windows.Networking.BackgroundTransfer命名空间中的新 API |
广告的蓝牙支持借助Windows.Devices.Bluetooth.Advertisement命名空间,你的应用可以发送、接收并筛选蓝牙 |
Wi-Fi Direct API 更新更新设备代理,以实现在不离开应用的情况下与设备匹配。除此之外,Windows.Devices.WiFiDirect命名空间还可以让某个设备能够检测到其他设备,并让该设备侦听传入的连接通知。 注意在此版本中,Wi-Fi Direct 功能改进未内置于 UX 中,并且它们仅支持一键配对。此外,此版本仅支持一个活动连接。 |
JSON 支持改进在调试会话期间,转换 JSON 对象时,Windows.Data.Json命名空间现在能更好地支持已有的标准定义和开发人员体验。 |
安全性
ECC 加密Windows.Security.Cryptography命名空间中的新 API 支持椭圆曲线密码 (ECC),后者是基于有限域上椭圆曲线的公共密钥加密实现。在算法上,ECC |
Microsoft PassportMicrosoft Passport 是身份验证的替代方法,它使用非对称加密和手势来替代密码。“凭据”命名空间中的类(如KeyCredentialManger)让开发人员可以轻松通过 |
Microsoft Passport for WorkMicrosoft Passport for Work 是使用 Azure Active Directory 帐户登录 Windows 的替代方法,它无需使用密码、智能卡和虚拟智能卡。你可以选择是禁用还是启用此策略设置。 |
令牌代理令牌是一个新型的身份验证框架,可让应用更加轻松地连接到联机标识提供程序(例如 Facebook)。通过诸如帐户用户名和密码管理以及简化的 UI 等功能,将大幅度改善为用户提供的身份验证体验。 |
系统服务
电源现在,当节电模式处于启用或未启用状态时,你的 Windows 桌面应用程序将得到通知。通过响应电源条件更改,你的应用程序将有机会帮助延长电池使用时间。
|
版本你可以使用版本帮助程序函数确定操作系统的版本。在 Windows 10 中,这些帮助程序函数包括一个新函数IsWindows10OrGreater。如果你想要确定系统版本,则应该使用帮助程序函数,而不是使用已弃用的GetVersionEx和GetVersion函数。有关如何获取系统版本的详细信息,请参阅获取系统版本。 如果你使用已弃用的GetVersionEx或GetVersion函数在OSVERSIONINFOEX或OSVERSIONINFO结构中获取版本信息,请注意,这些结构包含的版本号将从适用于 你还需要在你的应用程序中明确定向到 Windows 8.1 或 Windows 10,以使用GetVersionEx或GetVersion函数获取有关这些版本的正确版本信息。有关如何针对这些版本的 |
用户信息Windows.System命名空间中的新 API 使你可以轻松访问用户相关信息,例如其用户名和头像。它还提供响应诸如登录和注销等用户事件的功能。 |
内存管理和分析对Windows.System中内存分析 API 的支持已扩展至所有平台,并且其整体功能已通过新的类和函数进行增强。 |
存储
文件搜索 API 可用于 Windows Phone作为应用发布者,你可以注册你的应用,以便通过将扩展添加到应用清单,与其他应用共享存储文件夹。然后,调用Windows.Storage.ApplicationData.GetPublisherCacheFolder方法来获取共享的存储位置。 Windows 运行时应用的强大安全模型通常可防止应用在它们自己间共享数据。但是,在来自同一个发布者的应用基于每个用户共享文件和设置时,这可能会很有用。 |
工具
Visual Studio 中的 Live Visual TreeVisual Studio 具备全新的 Live Visual Tree 功能。你可以在调试时用它来快速地了解应用可视化树的状态,并发现设置元素属性的方式。它还可用于在应用运行时更改属性值,以便在无需重新启动的情况下进行调整和实验。 |
跟踪日志记录跟踪日志记录是适用于用户模式应用和内核模式驱动程序的全新事件跟踪 API;它构建在Windows WinRT、.NET 和 C/C++ 跟踪日志记录 API 可为不同的开发人员受众提供服务。 |
用户体验
语音识别通用 Windows 平台现已支持针对长篇听写场景的连续语音识别。请参阅“语音交互”文档中的“如何启用连续听写”。 |
不同应用程序平台之间的拖放功能新Windows.ApplicationModel.DataTransfer.DragDrop命名空间为通用 为支持在应用间拖放,已向 XAML 添加以下新 API: |
自定义窗口标题栏对于适用于桌面设备系列的 UWP 应用,现在可以将ApplicationViewTitleBar类与ApplicationView.TitleBar属性和Window.SetTitleBar方法结合使用,以便将默认 |
Web
Internet ExplorerInternet Explorer 中引入了边缘模式,这是一种新的“动态”文档模式,旨在实现与其他现代浏览器和现代 Web 内容的最大互操作性。正在逐渐将此实验模式推广给随机选择的一组 Windows 10 用户。你可以通过新的 IEabout:flags机制手动启用或禁用边缘模式。有关详细信息,请参阅: |
WebView Edge 模式浏览WebView控件与新的 Edge 浏览器使用相同的呈现引擎。这提供了最精确、最符合标准的 HTML 呈现模式。 |
线程外 WebView若要允许处理和显示单独后台线程上的 Web 内容,可以指定WebView.ExecutionMode。这可以改进某些特定方案的性能。 |
WebView.UnsupportedUriSchemeIdentified 事件新WebView.UnsupportedUriSchemeIdentified事件可用于确定你的应用处理不受支持的 有关 HTML WebView 控件,请参阅MSWebViewUnsupportedUriSchemeIdentified事件。 |
WebView.NewWindowRequested 事件新WebView.NewWindowRequested事件使你可以在 WebView 有关 HTML WebView 控件,请参阅MSWebViewNewWindowRequested事件。 |
WebView.PermissionRequested 事件新WebView.PermissionRequested事件允许 WebView 有关 HTML WebView 控件,请参阅MSWebViewPermissionRequested事件。 |
WebView.UnviewableContentIdentified 事件新WebView.UnviewableContentIdentified事件使你可以在 有关 HTML WebView 控件,请参阅MSWebViewUnviewableContentIdentified事件。 |
WebView.AddWebAllowedObject 方法你可以通过调用新WebView.AddWebAllowedObject方法,将 有关 HTML WebView 控件,请参阅addWebAllowedObject方法。 |
WebView.ClearTemporaryWebDataAync 方法当用户与 XAML WebView 中的 Web 内容交互时,WebView 控件将根据该用户的会话缓存数据。若要清除此缓存,可以调用新的ClearTemporaryWebDataAsync方法。例如,你可以在某位用户注销应用后清除缓存,这样另一位用户便无法访问上一会话中的任何数据。 |