Nouveautés de Windows 10 pour les développeurs, build 10240What's new in Windows 10 for developers, build 10240

Windows 10, build 10240 et le SDK mis à jour offrent les outils, fonctionnalités et expériences pour créer de remarquables applications sur la plateforme Windows universelle.Windows 10 build 10240 and the updated SDK provide the tools, features, and experiences to make remarkable Universal Windows Platform apps. Après avoir installé les outils et le Kit de développement logiciel sur Windows 10, vous êtes prêt à créer une nouvelle application Windows universelle ou à découvrir comment utiliser votre code d’application existant sur Windows.After installing the tools and SDK on Windows 10, you’re ready to either create a new Universal Windows app or explore how you can use your existing app code on Windows.

Voici un aperçu, fonction par fonction, des nouveautés qui vous attendent dans Windows 10, build 10240 (également appelé Windows 10, version 1507).Here's a feature-by-feature look at what's new for you in Windows 10 build 10240 (Also known as Windows 10 version 1507).

Dispositions adaptativesAdaptive layouts

FonctionnalitéFeature DescriptionDescription
Plusieurs vues pour le contenu personnaliséMultiple Views for tailored content XAML fournit une nouvelle prise en charge pour la définition de vues personnalisées (fichiers .xaml) partageant le même fichier de code.XAML provides new support for defining tailored views (.xaml files) that share the same code file. Ainsi, vous pouvez plus facilement créer et gérer différentes vues personnalisées pour une gamme d’appareils ou un scénario spécifiques.This makes it easier for you to create and maintain different views that are tailored to a specific device family or scenario. Si votre application inclut divers contenus, disposition ou modèles de navigation d’interface utilisateur qui sont complètement différents d’autres scénarios, créez plusieurs affichages.If your app has distinct UI content, layout, or navigation models that are drastically different for different scenarios, build multiple views. Par exemple, vous pouvez utiliser un contrôle Pivot avec une navigation optimisée pour l’utilisation d’une seule main dans votre application mobile et un contrôle SplitView avec un menu de navigation optimisé pour la souris dans votre application de bureau.For example, you might use a Pivot with navigation optimized for one-handed use on your mobile app, but use a SplitView with a navigation menu optimized for mouse on your desktop app.
StateTriggersStateTriggers Grâce à la nouvelle fonctionnalité VisualState.StateTriggers, vous pouvez définir des propriétés de manière conditionnelle en fonction de la hauteur/largeur de la fenêtre ou d’un déclencheur personnalisé.Using the new VisualState.StateTriggers feature, you can conditionally set properties based on window height/width or based on a custom trigger. Auparavant, vous deviez gérer les événements de fenêtre SizeChanged dans le code et appeler VisualStateManager.GotoState.Previously, you had to handle Window SizeChanged events in code and call VisualStateManager.GotoState.
SettersSetters Grâce à la nouvelle syntaxe VisualState.Setters, vous pouvez utiliser un marquage simplifié pour définir des changements de propriété dans VisualStateManager.Using the new VisualState.Setters syntax, you can use simplified markup to define property changes in VisualStateManager. Auparavant, vous deviez utiliser une table de montage et créer des animations pour appliquer des changements de propriétés tels que le changement d’orientation d’un StackPanel de Horizontal à Vertical.Previously, you had to use a Storyboard and create animations to apply property changes such as changing the orientation of a StackPanel from Horizontal to Vertical. Dans les applications Windows universelles, vous pouvez utiliser cette syntaxe Setter plus simple : In Universal Windows apps, you can use this simpler Setter syntax:

Fonctionnalités XAMLXAML features

FonctionnalitéFeature DescriptionDescription
Liaisons de données compilées (x: Bind)Compiled data bindings (x:Bind) Dans les applications Windows universelles, vous pouvez utiliser le nouveau mécanisme de liaison basé sur un compilateur activé par la propriété x:Bind.In Universal Windows apps, you can use the new compiler-based binding mechanism enabled by the x:Bind property. Les liaisons basées sur compilateur étant fortement typées et traitées lors de la compilation, la procédure est accélérée et présente des erreurs de compilation en cas de défaut correspondance des types de liaison.Compiler-based bindings are strongly typed and processed at compile time, which is both faster and provides compile time errors when binding types are mismatched. Les liaisons étant traduites en code d’application compilé, vous pouvez désormais les déboguer en analysant le code dans Visual Studio, afin de diagnostiquer des problèmes spécifiques de liaison.And because bindings are translated to compiled app code, you can now debug bindings by stepping through code in Visual Studio to diagnose specific binding issues. Par ailleurs, vous pouvez utiliser la propriété x/Bind pour lier une méthode, comme ceci : Pour les scénarios de liaison typiques, utilisez x:Bind en lieu et place de Binding afin d’améliorer les performances et la maintenabilité.You can also use x:Bind to bind to a method, like this: For typical binding scenarios, you can use x:Bind in place of Binding, and get improved performance and maintainability.
Rendu incrémentiel déclaratif de listes (x:Phase)Declarative incremental rendering of lists (x:Phase) Dans les applications Windows universelles, le nouvel attribut x:Phase vous permet d’effectuer un rendu incrémentiel, ou progressif, des listes à l’aide de XAML au lieu du code.In Universal Windows apps, the new x:Phase attribute lets you perform incremental, or phased, rendering of lists using XAML instead of code. Lors d’un mouvement panoramique effectué sur de longues listes comportant des éléments complexes, votre application peut avoir des difficultés à afficher les éléments suffisamment rapidement. Le cas échéant, l’expérience de vos utilisateurs est affectée négativement.When panning long lists with complex items, your app might not be able to render items fast enough to keep up with the speed of panning, producing a poor experience for your users. Grâce au rendu progressif, vous êtes en mesure de spécifier la priorité de rendu des composants d’un élément de liste, de manière à afficher uniquement les portions les plus importantes de l’élément de liste dans les scénarios de panoramique rapide.Phased rendering lets you specify the rendering priority of individual elements in a list item, so only the most important parts of the list item are rendered in fast panning scenarios. Dès lors, votre utilisateur jouit d’une expérience de panoramique plus agréable.This produces a smoother panning experience for your user.

Dans Windows 8.1, vous pouviez gérer l’événement ContainerContentChanging et écrire du code pour afficher progressivement des éléments de liste.In Windows 8.1, you could handle the ContainerContentChanging event and write code to render list items in phases. Dans les applications UWP, vous pouvez obtenir un rendu progressif déclaratif grâce à l’attribut x:Phase.In UWP apps, you can accomplish phased rendering declaratively using the x:Phase attribute. Utilisé conjointement avec les liaisons compilées x:Bind, l’attribut x:Phase vous permet de spécifier simplement une priorité de rendu pour chaque élément lié dans un modèle de données.Used in conjunction with compiled bindings x:Bind, x:Phase lets you easily specify a rendering priority for each bound element in a data template. Dans le cas d’un panoramique, le rendu des éléments est fractionné en fonction de la phase, qui permet un rendu incrémentiel des éléments.When panning, the work to render items is time-sliced based on the phase, which enables incremental item rendering.
Chargement différé d’éléments de l’interface utilisateur (x:deferLoadstrategy)Deferred loading of UI elements (x:deferLoadstrategy) Dans les applications Windows universelles, la nouvelle directive x:deferLoadstrategy permet de spécifier des éléments de votre interface utilisateur à charger en différé, ce qui améliore les performances de démarrage et réduit l’utilisation de la mémoire de votre application.In Universal Windows apps, the new x:deferLoadstrategy directive lets you specify parts of your user interface to be delay-loaded, which improves start-up performance and reduces the memory usage of your app. Par exemple, si l’interface utilisateur de votre application présente un élément de validation de données qui s’affiche uniquement lors de la saisie de données incorrectes, vous pouvez reporter au moment opportun le chargement de cet élément.For example, if your app UI has an element for data validation that is shown only when incorrect data is entered, you can delay loading of that element until it’s needed. Ensuite, les objets d’éléments ne sont pas créés au chargement de la page, mais uniquement en cas d’erreur de données et lorsqu’ils sont requis pour l’ajout à l’arborescence visuelle de la page.Then, the element objects aren’t created when the page is loaded; instead, they’re created only when there’s a data error and they are needed to be added to the page’s visual tree.
SplitViewSplitView Le nouveau contrôle SplitView vous permet d’afficher et de masquer facilement le contenu temporaire.The new SplitView control gives you a way to easily show and hide transient content. Il est généralement utilisé dans les scénarios de navigation de niveau supérieur comme le « hamburger menu », dans lequel le contenu de navigation est masqué puis affiché si nécessaire en résultat d’une action de l’utilisateur.It’s commonly used for top-level navigation scenarios like the "hamburger menu", where the navigation content is hidden, and slides in when needed as the result of a user action.
RelativePanelRelativePanel RelativePanel est un nouveau panneau de disposition qui vous permet de positionner et d’aligner des objets enfants les uns par rapport aux autres ou par rapport au panneau parent.RelativePanel is a new layout panel that lets you position and align child objects in relation to each other or the parent panel. Par exemple, vous pouvez définir une configuration suivant laquelle certains éléments textuels doivent toujours être positionnés à gauche du panneau et un élément Button toujours aligné sous le texte.For example, you can specify that some text should always be positioned to the left side of the panel, and a Button should always align below the text. Utilisez RelativePanel lors de la création d’interfaces utilisateur sans modèle linéaire précis dans lesquelles vous devriez utiliser StackPanel ou Grid.Use ReleativePanel when creating user interfaces that do not have a clear linear pattern that would call for use a StackPanel or Grid.
CalendarViewCalendarView Le contrôle CalendarView simplifie l’affichage et la sélection de dates et de plages de dates à l’aide d’un affichage mensuel personnalisable.The CalendarView control makes it easy to view and select dates and date ranges using a customizable, month based view. CalendarView prend en charge des fonctionnalités telles que les dates minimum, maximum et blackout afin de limiter les dates pouvant être sélectionnées.CalendarView supports features such as minimum, maximum, and blackout dates to limit which dates can be selected. Vous pouvez également définir des barres de densités personnalisées pouvant être utilisées pour afficher « l’exhaustivité » générale de la panification d’un jour donné.You can also set custom density bars that can be used to show the general "fullness" of the schedule on a particular day.
CalendarDatePickerCalendarDatePicker CalendarDatePicker est un contrôle déroulant optimisé pour la sélection d’une seule date dans un CalendarView, dans lequel les informations contextuelles comme le jour de la semaine ou l’exhaustivité du calendrier sont importantes.CalendarDatePicker is a drop-down control that’s optimized for picking a single date from a CalendarView where contextual information like the day of the week or fullness of the calendar is important. Il est similaire au contrôle DatePicker, sauf que DatePicker est optimisé pour la sélection d’une date connue comme une date de naissance.It’s similar to the DatePicker control, but the DatePicker is optimized for picking a known date, such as a date of birth.
MediaTransportControlsMediaTransportControls La nouvelle classe MediaTransportControls simplifie la personnalisation des contrôles de transport d’un MediaElement.The new MediaTransportControls class makes it easier to customize the transport controls of a MediaElement. Dans Windows 8.1, vous pouviez activer les contrôles de transport intégrés de MediaElement ou créer vos propres contrôles de transport qui appelaient des méthodes MediaElement.In Windows 8.1, you could enable MediaElement’s built-in transport controls, or create your own transport controls that called MediaElement methods. Vous pouvez désormais utiliser la fonctionnalité MediaTransportControls tout en personnalisant l’aspect convenant le mieux à votre application.Now you can use the built-in functionality of MediaTransportControls, and still easily customize the look to suit your app.
Notifications de modifications de propriétésProperty change notifications Dans les applications Windows universelles, vous pouvez suivre les changements de propriétés de DependencyObjects, et ce même pour des propriétés sans événements de changement correspondants.In Universal Windows apps, you can listen for property changes on DependencyObjects, even for properties that don’t have corresponding change events. La notification fonctionne comme un événement, mais elle est en réalité exposée comme un rappel.The notification operates like an event, but is actually exposed as a callback. Le rappel traite l’argument sender comme un gestionnaire d’événements, sans traiter d’argument d’événement.The callback takes a sender argument just like an event handler, but doesn’t take an event argument. À la place, seul l’identificateur de propriété est transmis.Instead, only the property identifier is passed to indicate which property. Avec ces informations, votre application peut définir un gestionnaire unique pour plusieurs notifications de propriétés.With this info your app can define a single handler for multiple property notifications. Pour plus d’informations, voir RegisterPropertyChangedCallback et UnregisterPropertyChangedCallback.For more info, see RegisterPropertyChangedCallback and UnregisterPropertyChangedCallback.
CartesMaps La classe MapControl a été mise à jour afin de fournir des images aériennes en 3D et des affichages au niveau de la rue.The MapControl class been updated to provide aerial 3D imagery and street-level views. Ces nouvelles fonctionnalités et la fonctionnalité de cartographie précédente sont désormais disponibles dans les applications Windows universelles.These new features and earlier mapping functionality are now available to Universal Windows apps. Ajouter du mappage à votre application à l’aide des API suivantes : Windows.UI.Xaml.Controls.Maps et Windows.Services.Maps.Add mapping to your app with the following APIs: Windows.UI.Xaml.Controls.Maps and Windows.Services.Maps. Pour commencer à utiliser ces API dans une application Windows universelle dès aujourd’hui, demandez une clé auprès du Centre de développement de Bing Cartes.To start using these APIs in a Universal Windows app today, request a key from the Bing Maps Developer Center. Pour en savoir plus, voir Comment authentifier une application Cartes.For more info, see How to authenticate a Maps app. Autre nouveauté dans Windows 10, les utilisateurs de PC et de téléphones peuvent télécharger des cartes hors connexion à partir de l’application Paramètres.Also new for Windows 10, PC and phone users can download offline maps from the Settings app. Les cartes hors connexion, quand elles sont disponibles, sont utilisées par la classe MapControl pour afficher les cartes en l’absence de connexion Internet.When available, offline maps are used by the MapControl to display maps when no internet access is available.
Mappage de bouton d'entréeInput button mapping La classe Windows.UI.Xaml.Input.KeyEventArgs inclut une nouvelle propriété OriginalKey. Associée à une mise à jour correspondante apportée à l’élément Windows.System.VirtualKey, cette propriété vous permet d’obtenir le bouton de sélection d’entrée d’origine, non mappé, associé à l’événement d’entrée sur le clavier.The Windows.UI.Xaml.Input.KeyEventArgs class has a new OriginalKey property that, along with a corresponding update to Windows.System.VirtualKey, enables you to get the original, unmapped input button associated with the keyboard input event.
Entrée manuscriteInking Il est désormais plus simple d’utiliser la fonctionnalité d’entrée manuscrite, très fiable, dans les applications Windows Runtime en C++, C# ou Visual Basic, grâce au contrôle InkCanvas et aux classes InkPresenter sous-jacentes.It’s now simpler to use the robust inking functionality in Windows Runtime apps using C++, C#, or Visual Basic, thanks to the InkCanvas control and underlying InkPresenter classes. Le contrôle InkCanvas définit une zone de superposition pour le dessin et le rendu des traits d’encre.The InkCanvas control defines an overlay area for drawing and rendering ink strokes. Les fonctionnalités de ce contrôle (entrée, traitement et rendu) proviennent des classes InkPresenter, InkStroke, InkRecognizer et InkSynchronizer.The functionality for this control (input, processing, and rendering) comes from the InkPresenter, InkStroke, InkRecognizers, and InkSynchronizer classes. Important : Ces classes ne sont pas prises en charge dans les applications Windows en JavaScript.Important: These classes are not supported in Windows apps using JavaScript.

Mises à jour des fonctionnalités XAMLUpdated XAML features

FonctionnalitéFeature DescriptionDescription
Mises à jour CommandBar et AppBarCommandBar and AppBar updates Les contrôles CommandBar et AppBar ont été mis à jour pour inclure une API, un comportement et une expérience utilisateur cohérents pour les applications UWP sur différentes familles d’appareils.The CommandBar and AppBar controls have been updated to have a consistent API, behavior and user experience for UWP apps across device families.

Le contrôle CommandBar pour applications Windows universelles a été amélioré pour proposer un sur-ensemble de fonctionnalités AppBar et une meilleure flexibilité d’utilisation dans votre application.The CommandBar control for Universal Windows apps has been improved to provide a superset of AppBar functionality and greater flexibility in how you can use it in your app. Utilisez CommandBar pour toutes les nouvelles applications Windows universelles sous Windows 10.You should use CommandBar for all new Universal Windows apps on Windows 10. Dans un contrôle CommandBar sous Windows 8.1, vous ne pouviez utiliser que les contrôles qui implémentaient ICommandBarElement, AppBarButton par exemple.In a CommandBar in Windows 8.1, you could use only controls that implemented ICommandBarElement, like AppBarButton. Dans les applications Windows universelles, vous pouvez désormais insérer du contenu personnalisé dans le contrôle CommandBar, en plus d’AppBarButtons.In Universal Windows apps, you can now put custom content in the CommandBar in addition to AppBarButtons.

Le contrôle AppBar a été mis à jour pour vous permettre de migrer plus facilement vos applications Windows 8.1 utilisant AppBar vers la plateforme Windows universelle.The AppBar control has been updated to let you more easily move your Windows 8.1 apps that use AppBar to the Universal Windows Platform. AppBar a été conçu pour une utilisation avec des applications en plein écran et pour être appelé par des mouvements latéraux.AppBar was designed to be used with full-screen apps, and to be invoked using edge gestures. Les mises à jour du contrôle sont relatives aux problèmes associés aux applications fenêtrées et au manque de mouvements latéraux dans Windows 10.Updates to the control account for issues such as windowed apps and the lack of edge gestures in Window 10.

Le contrôle masqué AppBar.ClosedDisplayMode, disponible auparavant sur Windows Phone uniquement, est désormais pris en charge sur toutes les familles d’appareils, vous permettant ainsi de choisir entre différents niveaux de conseils relatifs aux commandes.The Hidden AppBar.ClosedDisplayMode, previously only on Windows Phone, is now supported on all device families, letting you choose between different levels of hints for commands. AppBar propose un conseil minimal par défaut pour plus de cohérence lors de la mise à niveau de vos applications Windows 8.1 en applications Windows universelles, dans lesquelles vous ne pouvez plus compter sur la prise en charge par la plateforme des mouvements latéraux.The AppBar shows a minimal hint by default to provide consistency for you when upgrading your Windows 8.1 apps to Universal Windows apps where you can no longer rely on the edge gesture support in the platform.
Mises à jour GridViewGridView updates Avant Windows 10, l’orientation de la disposition GridView par défaut était horizontale sur Windows et verticale sur Windows Phone.Prior to Windows 10, the default GridView layout orientation was horizontal on Windows and vertical on Windows Phone. Dans les applications UWP, GridView utilise une disposition verticale par défaut pour toutes les familles d’appareils, garantissant ainsi une expérience par défaut identique.In UWP apps, GridView uses a vertical layout by default for all device families to ensure you have by consistent default experience.
Propriété AreStickyGroupHeadersEnabledAreStickyGroupHeadersEnabled property Lorsque vous affichez des données groupées dans une disposition ListView ou GridView, les en-têtes de groupe restent désormais affichés lorsque vous faites défiler la liste.When you show grouped data in a ListView or GridView, the group headers now remain visible when the list is scrolled. Cela est important dans les grands ensembles de données, pour lesquels l’en-tête fournit du contexte relatif aux données affichées par l’utilisateur.This is important in large data sets where the header provides context for the data the user is viewing. Toutefois, dans les situations où les groupes comportent uniquement quelques éléments, vous souhaiterez peut-être voir les en-têtes sortir de l’écran avec les éléments.However, in cases where there are only a few elements in each group, you might want to have the headers scroll off-screen with the items. Pour contrôler ce comportement, vous pouvez définir la propriété AreStickyGroupHeadersEnabled sur ItemsStackPanel ou ItemsWrapGrid.You can set the AreStickyGroupHeadersEnabled property on ItemsStackPanel and ItemsWrapGrid to control this behavior.
Méthode GroupHeaderContainerFromItemContainerGroupHeaderContainerFromItemContainer method Lorsque vous affichez des données groupées dans une disposition ItemsControl, vous pouvez appeler la méthode GroupHeaderContainerFromItemContainer afin d’obtenir une référence sur l’en-tête parent du groupe.When you show grouped data in an ItemsControl, you can call the GroupHeaderContainerFromItemContainer method to get a reference to the parent header for the group. Par exemple, si un utilisateur supprime le dernier élément d’un groupe, vous pouvez obtenir une référence à l’en-tête de groupe et supprimer simultanément l’élément et l’en-tête de groupe.For example, if a user deletes the last item in a group, you can get a reference to the group header and remove both the item and group header together.
Événement ChoosingGroupHeaderContainerChoosingGroupHeaderContainer event Le nouvel événement ChoosingGroupHeaderContainer de ListViewBase vous permet de définir l’état des en-têtes de groupe dans une disposition ListView ou GridView.The new ChoosingGroupHeaderContainer event on ListViewBase lets you set state on the group headers in a ListView or GridView. Par exemple, vous pouvez gérer cet événement pour définir la propriété AutomationProperties.Nameproperty sur l’en-tête du groupe afin de représenter le groupe dans des technologies d’assistance.For example, you might handle this event to set the AutomationProperties.Nameproperty on the group header to represent the group in assistive technologies.
Événement ChoosingItemContainerChoosingItemContainer event Le nouvel événement ChoosingItemContainer de ListViewBase vous permet de mieux contrôler la virtualisation de l’interface utilisateur dans une disposition ListView ou GridView.The new ChoosingItemContainer event on ListViewBase gives you greater control over UI virtualization in a ListView or GridView. Utilisez cet événement avec l’événement ContainerContentChanging pour gérer votre file de conteneurs recyclés à partir desquels dessiner si nécessaire.Use this event in conjunction with the ContainerContentChanging event to maintain your own queue of recycled containers from which to draw upon as needed. Par exemple, si la source de données a été réinitialisée en raison du filtrage, vous pouvez rapidement mettre en correspondance un ensemble créé d’éléments visuels (ItemContainers) avec leurs données pour atteindre des performances supérieures.For example, if the data source has been reset due to filtering, you can quickly match an already created set of visuals (ItemContainers) with their data to achieve best performance.
Virtualisation du défilement des listesList scrolling virtualization Les contrôles ListView et GridView du langage XAML présentent un nouvel événement ListViewBase.ChooseingItemContainer, qui améliore leurs performances du contrôle en cas de modification de la collecte de données.The XAML ListView and GridView controls have a new ListViewBase.ChooseingItemContainer event that improves the performance of the control when a change occurs in the data collection. Au lieu de réinitialiser entièrement la liste et d’activer une nouvelle lecture de l’animation d’entrée, le système gère désormais les éléments actuellement affichés, avec le focus et l’état de sélection. Les nouveaux éléments et les éléments supprimés de la fenêtre d’affichage entrent et sortent sans heurt de l’animation.Instead of doing a complete reset of the list, which replays the entrance animation, the system now maintains items currently in view, along with focus and selection state; new and removed items in the viewport animate in and out smoothly. Lorsqu’une modification est apportée à la collecte de données dans laquelle des conteneurs ne sont pas détruits, une application peut rapidement faire correspondre des « anciens » éléments à leur conteneur précédent et ignorer le traitement plus approfondi des méthodes de remplacement de cycle de vie de conteneur.After a change in the data collection in which containers are not destroyed, an app can quickly match any "old" items with their previous container and skip further processing of container-lifecycle override methods. Seuls les « nouveaux » éléments sont traités et associés aux conteneurs recyclés ou nouveaux.Only "new" items are processed and associated with recycled or new containers.
Méthode SelectRange et propriété SelectedRangesSelectRange method and SelectedRanges property Dans les applications Windows universelles, les contrôles ListView et GridView vous permettent désormais de sélectionner des éléments en termes de plages d’index d’élément plutôt que de références d’objet d’élément.In Universal Windows apps, ListView and GridView controls now let you select items in terms of ranges of item indexes instead of item object references. Il s’agit d’un moyen plus efficace de décrire des sélections d’éléments, dans la mesure où il n’est pas nécessaire de créer des objets d’élément pour chaque élément sélectionné.This is a more efficient way to describe item selection because item objects don’t need to be created for each selected item. Pour plus d’informations, voir ListViewBase.SelectedRanges, ListViewBase.SelectRange et ListViewBase.DeselectRange.For more info, see ListViewBase.SelectedRanges, ListViewBase.SelectRange, and ListViewBase.DeselectRange.
Nouvelles API ListViewItemPresenterNew ListViewItemPresenter APIs ListView et GridView utilisent des présentateurs d’élément pour proposer les visuels par défaut pour la sélection et le focus.ListView and GridView use item presenters to provide the default visuals for selection and focus. Dans les applications UWP, ListViewItemPresenter et GridViewItemPresenter incluent de nouvelles propriétés qui vous permet de mieux personnaliser les visuels des éléments de liste.In UWP apps, ListViewItemPresenter and GridViewItemPresenter have new properties that let you further customize visuals for list items. Les nouvelles propriétés sont CheckBoxBrush, CheckMode, FocusSecondaryBorderBrush, PointerOverForeground, PressedBackground et SelectedPressedBackground.The new properties are CheckBoxBrush, CheckMode, FocusSecondaryBorderBrush, PointerOverForeground, PressedBackground, and SelectedPressedBackground.
Mises à jour SemanticZoomSemanticZoom updates Le comportement du contrôle SemanticZoom est désormais identique pour les applications UWP sur toutes les familles d’appareils.The SemanticZoom control now has one consistent behavior for UWP apps across all device families. L’action par défaut pour le basculement entre les zooms avant et arrière consiste à appuyer sur un en-tête de groupe dans le zoom avant.The default action to switch between the zoomed in view and the zoomed out view is to tap on a group header in the zoomed in view. Il s’agit du comportement identifié sur Windows Phone 8.1, différent de celui respecté sur Windows 8.1. En effet, sur cette version, le basculement s’effectue à l’aide d’un pincement.This is the same as the behavior on Windows Phone 8.1, but is a change from Windows 8.1, which used the pinch gesture to zoom. Pour changer d’affichage via pincer pour zoomer, définissez ScrollViewer.ZoomMode sur « Enabled » dans le ScrollViewer interne de SemanticZoom.To change views using pinch-to- zoom, set ScrollViewer.ZoomMode="Enabled" on the SemanticZoom’s internal ScrollViewer.

Sur les applications Windows universelles, le zoom arrière remplace le zoom avant. Il présente la même taille que la vue remplacée.For Universal Windows apps, the zoomed out view replaces the zoomed in view and is the same size as the view that it replaced. S’il s’agit du comportement rencontré sur Windows 8.1, il est différent de celui de Windows Phone 8.1, où le zoom arrière prenait toute la largeur de l’écran et apparaissait par-dessus l’ensemble des autres contenus.This is the same as the behavior on Windows 8.1, but is a change from Windows Phone 8.1, where the zoomed out view took up the full size of the screen and was rendered on top of all other content.
Mises à jour DatePicker et TimePickerDatePicker and TimePicker updates Les contrôles DatePicker et TimePicker proposent désormais une implémentation identique des applications Windows universelles sur toutes les familles d’appareils.The DatePicker and TimePicker controls now have one consistent implementation for Universal Windows apps across all device families. Ils ont également une nouvelle apparence pour Windows 10.They also have a new look for Windows 10. La partie contextuelle du contrôle utilise désormais les contrôles DatePickerFlyout et TimePickerFlyout sur tous les appareils.The pop-up portion of the control now uses DatePickerFlyout and TimePickerFlyout controls on all devices. Ce comportement est identique à celui sur Windows Phone 8.1, hormis le fait que Windows 8.1 utilisait des contrôles ComboBox.This is the same as the behavior on Windows Phone 8.1, but is a change from Windows 8.1, which used ComboBox controls. L’utilisation de contrôles volants vous permet de créer facilement des sélecteurs de date et d’heure personnalisés.Using the flyout controls lets you easily create customized date and time pickers.
Nouvelles API ScrollViewerNew ScrollViewer APIs ScrollViewer inclut de nouveaux événements DirectManipulationStarted et DirectManipulationCompleted pour informer votre application lorsque vous touchez des boutons de début et d’arrêt de panoramique.ScrollViewer has new DirectManipulationStarted and DirectManipulationCompleted events to notify your app when touch panning starts and stops. Vous pouvez gérer ces événements pour coordonner votre interface utilisateur avec ces actions utilisateur.You can handle these events to coordinate your UI with these user actions.
Mises à jour MenuFlyoutMenuFlyout updates Dans les applications Windows universelles, vous trouverez de nouvelles API qui vous permettent de créer plus facilement des menus contextuels plus efficaces.In Universal Windows apps, there are new APIs that let you build better context menus more easily. La nouvelle méthode MenuFlyout.ShowAt vous permet de spécifier où vous souhaitez que le menu volant apparaisse par rapport à un autre élément.The new MenuFlyout.ShowAt method lets you specify where you want the flyout to appear in relation to another element. (Et MenuFlyout peut même chevaucher les limites de la fenêtre de votre application.) Utilisez la nouvelle classe MenuFlyoutSubItem pour créer des menus en cascade.(And your MenuFlyout can even overlap the boundaries of your app’s window.) Use the new MenuFlyoutSubItem class to create cascading menus.
Nouvelles propriétés Border pour ContentPresenter, Grid et StackPanelNew Border properties for ContentPresenter, Grid, and StackPanel Les contrôles de conteneurs communs présentent de nouvelles propriétés de bordure. Grâce à ces dernières, vous pouvez tracer une bordure, sans ajouter aucun élément Border supplémentaire dans votre code XAML.Common container controls have new border properties that let you draw a border around them without adding an additional Border element to your XAML. ContentPresenter, Grid et StackPanel présentent ces nouvelles propriétés : BorderBrush, BorderThickness, CornerRadius et Padding.ContentPresenter, Grid, and StackPanel have these new properties: BorderBrush, BorderThickness, CornerRadius, and Padding.
Nouvelles API textuelles sur ContentPresenterNew text APIs on ContentPresenter ContentPresenter comporte de nouvelles API qui vous offrent plus de contrôle sur l’affichage de texte : LineHeight, LineStackingStrategy, MaxLines et TextWrapping.ContentPresenter has new APIs that give you more control over text display: LineHeight, LineStackingStrategy, MaxLines, and TextWrapping.
Visuels de focus systèmeSystem Focus Visuals Les visuels de focus des contrôles XAML sont désormais créés par le système, non pas déclarés en tant qu’éléments XAML dans le modèle de contrôle.Focus visuals for XAML controls are now created by the system, instead of being declared as XAML elements in the control template. Les visuels de focus ne sont généralement pas nécessaires sur les appareils mobiles. De fait, en laissant le système les créer et les gérer au besoin, vous améliorez les performances applicatives.The focus visuals are not typically needed on mobile devices, and letting the system create and manage them as needed improves app performance. Si vous avez besoin d’un contrôle supérieur sur les visuels de focus, vous pouvez remplacer le comportement du système en fournissant un modèle de contrôle personnalisé les définissant.If you need greater control over focus visuals, you can override the system behavior and providing a custom control template that defines focus visuals. Pour plus d’informations, voir UseSystemFocusVisuals et IsTemplateFocusTarget.See UseSystemFocusVisuals and IsTemplateFocusTarget for more info.
PasswordBox.PasswordRevealModePasswordBox.PasswordRevealMode Dans les applications Windows universelles, la propriété PasswordRevealMode remplace la propriété IsPasswordRevealButtonEnabled pour proposer un comportement homogène sur les différentes familles d’appareils.In Universal Windows apps, the PasswordRevealMode property replaces the IsPasswordRevealButtonEnabled property to provide consistent behavior across device families. Attention : Avant Windows 10, le bouton d’affichage du mot de passe ne s’affichait pas par défaut. C’est désormais le cas dans les applications Windows universelles.Caution: Prior to Windows 10, the password reveal button was not shown by default; in Universal Windows apps it is shown by default. Si la sécurité de votre application nécessite que le mot de passe soit toujours masqué, définissez PasswordRevealMode sur Hidden.If the security of your app requires that the password is always obscured, be sure to set PasswordRevealMode to Hidden.
Control.IsTextScaleFactorEnabledControl.IsTextScaleFactorEnabled La propriété IsTextScaleFactorEnabled, qui était disponible sous Windows Phone 8.1, l’est désormais pour les applications Windows universelles sur toutes les familles d’appareils.The IsTextScaleFactorEnabled property that was available on Windows Phone 8.1 is now available for Universal Windows apps across all device families.
AutoSuggestBoxAutoSuggestBox Le contrôle AutoSuggestBox de Windows Phone 8.1 est désormais disponible pour les applications Windows universelles sur toutes les familles d’appareils, et vous devez l’utiliser à la place de SearchBox.The AutoSuggestBox control from Windows Phone 8.1 is now available for Universal Windows apps across all device families, and you should use it instead of SearchBox. AutoSuggestBox propose des suggestions à mesure que l’utilisateur saisit, et fonctionne parfaitement avec différents types de saisie comme le toucher, le clavier et les éditeurs de méthode d’entrée.AutoSuggestBox provides suggestions as the user types, and works well with various input types, like touch, keyboard, and Input Method Editors. Il inclut également de nouveaux éléments qui fonctionnent mieux en tant que zone de recherche : la propriété QueryIcon et l’événement QuerySubmitted.It also has some new members to make it work better as a search box: the QueryIcon property and the QuerySubmitted event.
ContentDialogContentDialog Le contrôle ContentDialog de Windows Phone 8.1 est désormais disponible pour les applications Windows universelles sur toutes les familles d’appareils.The ContentDialog control from Windows Phone 8.1 is now available for Universal Windows apps across all device families. ContentDialog vous permet d’afficher une boîte de dialogue modale personnalisée parfaitement adaptée à toute la gamme d’appareils.ContentDialog lets you display a customizable modal dialog that works great across the full spectrum of devices.
PivotPivot Le contrôle Pivot de Windows Phone 8.1 est désormais disponible pour les applications Windows universelles sur toutes les familles d’appareils.The Pivot control from Windows Phone 8.1 is now available for Universal Windows apps across all device families. Vous pouvez maintenant utiliser le même contrôle Pivot dans votre application pour appareils mobiles et de bureau.You can now use the same Pivot control for in your app for mobile and desktop devices. Pivot offre un comportement adaptatif basé sur la taille de l’écran et le type d’entrée.Pivot provides adaptive behavior based on the screen size and input type. Vous pouvez personnaliser un contrôle Pivot pour qu’il fonctionne comme un onglet, avec différents affichages d’informations dans chaque élément.You can style a Pivot control to provide tab-like behavior, with different views of information in each pivot item.

TexteText

FonctionnalitéFeature DescriptionDescription
API Windows Core TextWindows core text APIs Le nouvel espace de noms Windows.UI.Text.Core présente un système client/serveur, qui centralise le traitement de la saisie au clavier sur un seul serveur.The new Windows.UI.Text.Core namespace features a client-server system that centralizes the processing of keyboard input into a single server. Vous pouvez l’utiliser pour manipuler la mémoire-tampon de modification de votre contrôle de saisie de texte personnalisé.You can use it to manipulate the edit buffer of your custom text input control. Le serveur de saisie de texte garantit la synchronisation du contenu de votre contrôle de saisie de texte et du contenu de sa propre mémoire-tampon de modification, via un canal de communication asynchrone entre l’application et le serveur.The text input server ensures that the contents of your text input control and the contents of its own edit buffer are always in sync, via an asynchronous communication channel between the app and the server.
Icônes de vecteurVector icons L’élément Glyphs inclut les nouvelles propriétés IsColorFontEnabled et ColorFontPalleteIndex pour prendre en charge les polices couleur ; vous pouvez désormais utiliser un fichier de police pour le rendu des icônes basées sur une police.The Glyphs element has the new IsColorFontEnabled and ColorFontPalleteIndex properties to support color fonts; now you can use a font file to render font-based icons. Lorsque vous utilisez ColorFontPalleteIndex pour changer de palette de couleurs, une icône peut être rendue dans différents jeux de couleurs ; par exemple, pour afficher une version activée et désactivée de l’icône.When you use ColorFontPalleteIndex for color palette switching, a single icon can be rendered with different color sets; for example, to show an enabled and disabled version of the icon.
Événements de la fenêtre Éditeur de méthode d'entréeInput Method Editor window events Parfois, les utilisateurs saisissent du texte dans un éditeur de méthode d’entrée qui s’affiche dans une fenêtre située juste en dessous d’une zone de saisie textuelle (généralement pour les langues d’Asie orientale).Users sometimes enter text through an Input Method Editor that shows in a window just below a text input box (typically for East Asian languages). Vous pouvez utiliser l’événement CandidateWindowBoundsChanged et la propriété DesiredCandidateWindowAlignment de TextBox et RichEditBox pour que l’interface utilisateur de votre application s’adapte mieux à la fenêtre IME.You can use the CandidateWindowBoundsChanged event and DesiredCandidateWindowAlignment property on TextBox and RichEditBox to make your app UI work better with the IME window.
Événements de composition de texteText composition events TextBox et RichEditBox incluent de nouveaux événements pour informer votre application lorsque du texte est composé à l’aide d’un éditeur de méthode d’entrée : TextCompositionStarted, TextCompositionEnded et TextCompositionChanged.TextBox and RichEditBox have new events to inform your app when text is composed using an Input Method Editor: TextCompositionStarted, TextCompositionEnded, and TextCompositionChanged. Vous pouvez gérer ces événements afin de coordonner votre code d’application avec le processus de composition textuelle de l’Éditeur de méthode d'entrée.You can handle these events to coordinate your app code with the IME text composition process. Par exemple, vous pouvez implémenter une fonctionnalité de saisie automatique inline pour les langues d’Asie orientale.For example, you could implement inline auto-completion functionality for East Asian languages.
Gestion améliorée du texte bidirectionnelImproved handling of bi-directional text Les contrôles textuels XAML présentent une nouvelle API améliorant la gestion du texte bidirectionnel. Vous profiter d’un meilleur alignement du texte et d’une directionnalité de paragraphe supérieure dans de nombreuses langues d’entrée.XAML text controls have new API to improve handling of bi-directional text, resulting in better text alignment and paragraph directionality across a variety of input languages. La valeur par défaut de la propriété TextReadingOrder a été remplacée par DetectFromContent, activant ainsi par défaut la détection de l’ordre de lecture.The default value of the TextReadingOrder property has been changed to DetectFromContent, so support for detecting reading order is enabled by default. La propriété TextReadingOrder a également été ajoutée à PasswordBox, RichEditBox et à TextBox.The TextReadingOrder property has also been added to PasswordBox, RichEditBox, and TextBox. Vous pouvez définir la propriété TextAlignment des contrôles de texte sur la nouvelle valeur DetectFromContent pour que l’alignement du contenu puisse être détecté automatiquement.You can set the TextAlignment property on text controls to the new DetectFromContent value to opt-in to having alignment detected automatically from the content.
Rendu du texteText rendering Dans Windows 10, le texte des applications XAML s’affiche, dans la plupart des situations, presque deux fois plus rapidement qu’avec Windows 8.1.In Windows 10, text in XAML apps now renders, in most situations, at nearly twice the speed of Windows 8.1. Dans la plupart des cas, vos applications bénéficient de cette amélioration sans être par ailleurs affectée.In most cases, your apps will benefit from this improvement without any changes. Ces améliorations, qui accélèrent le rendu, réduisent également de 5 % en moyenne la consommation de mémoire des applications XAML.In addition to faster rendering, these improvements also reduce typical memory consumption of XAML apps by 5%.

Modèle d’applicationApplication model

FonctionnalitéFeature DescriptionDescription
CortanaCortana Complétez la fonctionnalité de base de Cortana avec des commandes vocales qui lancent et exécutent une action unique dans une application externe.Extend the basic functionality of Cortana with voice commands that launch and execute a single action in an external application. Cortana peut servir de lien entre votre application et l’utilisateur en intégrant la fonctionnalité de base de votre application et en fournissant un point d’entrée central à l’utilisateur pour qu’il puisse accomplir la plupart des tâches sans ouvrir directement votre application.By integrating the basic functionality of your app, and by providing a central entry point for the user to accomplish most of the tasks without opening your app directly, Cortana can act as a liaison between your app and the user. Dans de nombreux cas, cela permet à l’utilisateur de gagner beaucoup de temps et d’énergie.In many cases, this can save the user significant time and effort. Découvrez comment intégrer votre application au canevas Cortana.Learn how to integrate your app into the Cortana canvas. Si vous cherchez des idées, consultez les recommandations en matière de conception et d’expérience utilisateur propres à Cortana dans les Notions de base pour la conception d’applications Windows universelles.If you need ideas you can refer to the design recommendations and UX guidelines specific to Cortana in Design basics for Universal Windows apps.
Explorateur de fichiersFile Explorer La nouvelle méthode Windows.System.Launcher.LaunchFolderAsync vous permet de lancer l’Explorateur de fichiers. Elle affiche également le contenu du dossier que vous spécifiez.The new Windows.System.Launcher.LaunchFolderAsync methods let you launch File Explorer and displays the contents of a folder that you specify.
Stockage partagéShared storage La nouvelle classe Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager ainsi que ses méthodes vous permettent de partager un fichier avec une autre application en transmettant un jeton de partage lorsque vous lancez l’autre application à l’aide de l’activation de l’URI.The new Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager class and its methods let you share a file with another app by passing a sharing token when you launch the other app by using URI activation. L’application cible utilise le jeton pour récupérer le fichier partagé par l’application source.The target app redeems the token to get the file shared by the source app.
ParamètresSettings Affichez les pages de paramètres intégrés en utilisant le protocole ms-settings avec la méthode LaunchUriAsync.Display built-in settings pages by using the ms-settings protocol with the LaunchUriAsync method. Par exemple, le code suivant affiche la page de paramètres Wi-Fi : bool result = await Launcher.LaunchUriAsync(new Uri("ms-settings://network/wifi"));For example, the following code displays the page of Wi-Fi settings: bool result = await Launcher.LaunchUriAsync(new Uri("ms-settings://network/wifi"));

Pour obtenir la liste des pages de paramètres que vous pouvez afficher, voir Comment afficher les pages de paramètres intégrés à l’aide du protocole ms-settings.For a list of the settings pages that you can display, see How to display built-in settings pages by using the ms-settings protocol.
Communication entre les applicationsApp-to-App communication Dans Windows 10, les nouvelles API de communication entre les applications permettent aux applications Windows (ainsi qu’aux applications Web Windows) de se lancer les unes les autres et d’échanger des données et des fichiers.New app-to-app communication APIs in Windows 10 make it possible for Windows applications (as well as Windows Web applications) to launch each other and exchange data and files. Grâce à ces nouvelles API, les tâches complexes qui, auparavant, auraient obligé l’utilisateur à lancer plusieurs applications, peuvent désormais être gérées de manière transparente.Using these new APIs, complex tasks that would have required the user to use multiple applications can now be handled seamlessly. Ainsi, votre application peut démarrer une application de réseau social pour choisir un contact, ou une application de validation pour effectuer un processus de paiement.For example, your app could launch a social networking app to choose a contact, or launch a checkout application to complete a payment process.
Services d’applicationApp services Un service d’application permet à une application de fournir des services à d’autres applications dans Windows 10.An app service is a way for an app to provide services to other apps in Windows 10. Un service d’application prend la forme d’une tâche en arrière-plan.An app service takes the form of a background task. Les applications de premier plan peuvent appeler un service d’application dans une autre application afin d’exécuter les tâches en arrière-plan.Foreground apps can call an app service in another app to perform tasks in the background. Pour en savoir plus sur l’API de services d’application, voir Windows.ApplicationModel.AppService.For reference information about the app service API, see Windows.ApplicationModel.AppService.
Manifeste du package de l’applicationApp package manifest Dans les mises à jour apportées à la référence de schéma de manifeste de package de Windows 10, certains éléments ont été ajoutés, supprimés et modifiés.Updates to the package manifest schema reference for Windows 10 include elements that have been added, removed, and changed. Pour consulter des informations de référence sur l’ensemble des éléments, attributs et types du schéma, voir Hiérarchie d’éléments.See Element Hierarchy for reference info on all elements, attributes, and types in the schema.

PériphériquesDevices

FonctionnalitéFeature DescriptionDescription
Microsoft Surface HubMicrosoft Surface Hub Le Microsoft Surface Hub est un puissant appareil de collaboration en équipe et une plateforme à grand écran pour les applications Windows universelles s’exécutant en mode natif à partir de Surface Hub ou de votre appareil connecté.The Microsoft Surface Hub is a powerful team collaboration device and a large-screen platform for Universal Windows apps that run natively from Surface Hub or from your connected device. Développez vos propres applications en fonction de votre activité, et valorisez le grand écran, les fonctionnalités de saisie tactile et manuscrite tout en profitant du nombre important de matériel intégré, comme les appareils photo et les capteurs.Build your own apps, designed specifically for your business, that take advantage of the large screen, touch and ink input, and extensive onboard hardware like cameras and sensors.

Consultez les recommandations en matière de conception et d’expérience utilisateur propres au hub Surface dans les Notions de base pour la conception d’applications Windows universelles.Have a look at the design recommendations and UX guidelines specific to Surface Hub in Design basics for Universal Windows apps. Ces documents fournissent des techniques de conception réactives pour les applications Windows universelles.These docs explain responsive design techniques for Universal Windows apps.

Pour plus d’informations sur la prise en charge des applications partagées par la communauté, voir SharedModeSettings.For detail on supporting communal shared apps, see SharedModeSettings. Pour plus d’informations sur l’entrée manuscrite et la prise en charge de l’entrée manuscrite multipoint dans le nouveau contrôle InkCanvas, voir Windows.UI.Input.Inking et Windows.UI.Input.Inking.Core.For ink input and detail on support for multi-point inking on the new InkCanvas control, see Windows.UI.Input.Inking and Windows.UI.Input.Inking.Core. Pour plus d’informations sur la gestion de l’entrée du capteur, voir Intégration des appareils, des imprimantes et des capteurs.For handling sensor input, see Integrating devices, printers, and sensors.
EmplacementLocation Windows 10 introduit une nouvelle méthode pour demander à l’utilisateur l’autorisation d’accéder à son emplacement, RequestAccessAsync.Windows 10 introduces a new method to prompt the user for permission to access their location, RequestAccessAsync. L’utilisateur définit la confidentialité de ses données d’emplacement avec les paramètres de confidentialité d’emplacement de l’application Paramètres.The user sets the privacy of their location data with the location privacy settings in the Settings app. Votre application peut accéder à l’emplacement de l’utilisateur dans les cas suivants uniquement : Le paramètre Emplacement de cet appareil est activé (non applicable dans Windows 10 pour smartphones) , le paramètre des services de localisation Emplacement est activé, et, sous Choisir les applications qui peuvent utiliser votre emplacement, votre application est activée.Your app can access the user's location only when: Location for this device is turned on (not applicable for Windows 10 for phones), the location services setting “Location” is on, and under Choose apps that can use your location, your app is set to on.

Il est important d’invoquer RequestAccessAsync avant d’accéder à l’emplacement de l’utilisateur.It's important to call RequestAccessAsync before accessing the user’s location. À ce stade, votre application doit être au premier plan et l’élément RequestAccessAsync doit être appelé à partir du thread d’interface utilisateur.At that time, your app must be in the foreground and RequestAccessAsync must be called from the UI thread. Jusqu’à ce que l’utilisateur l’y autorise, votre application ne peut pas accéder aux données d’emplacement.Until the user grants your app permission to their location, your app can't access location data.
AllJoynAllJoyn L’espace de noms Windows Runtime Windows.Devices.AllJoyn introduit l’implémentation par Microsoft de l’infrastructure et des services de logiciel open source AllJoyn.The Windows.Devices.AllJoyn Windows Runtime namespace introduces Microsoft's implementation of the AllJoyn open source software framework and services. Ces API permettent à votre application pour appareil Windows universelle de participer avec d’autres appareils à des scénarios Internet des objets, pilotés par AllJoyn.These APIs make it possible for your Universal Windows device app to participate with other devices in AllJoyn-driven, Internet of Things (IoT) scenarios. Pour plus d’informations sur les API AllJoyn, téléchargez la documentation à l’adresse The AllSeen Alliance.For more details about the AllJoyn C APIs, download the documentation at The AllSeen Alliance. Utilisez l’outil AllJoynCodeGen inclus dans cette publication pour générer un composant Windows qui vous permet d’activer des scénarios AllJoyn dans l’application de votre appareil.Use the AllJoynCodeGen tool included in this release to generate a Windows component that you can use to enable AllJoyn scenarios in your device app.

Remarque : Windows 10 IoT Standard est désormais disponible pour une nouvelle classe de petits appareils. Ainsi, vous êtes en mesure de créer des appareils dédiés à l’Internet des objets à l’aide de Windows et de Visual Studio.Note: Windows 10 IoT Core is now available for a new class of small devices, allowing you to create “Internet of Things” (IoT) devices using Windows and Visual Studio. Pour en savoir plus sur Windows IoT, accédez au Centre de développement Windows.Learn more about Windows IoT on Windows Dev Center.
API d’impression sur appareils mobiles (XAML)Printing APIs on mobile (XAML) Il existe un ensemble unique, unifié d’API que vous pouvez utiliser pour imprimer à partir de vos applications UWP basées sur XAML sur de nombreuses familles d’appareils, notamment sur les appareils mobiles.There is a single, unified set of APIs that let you print from your XAML-based UWP apps across device families, including mobile devices. Vous pouvez désormais ajouter l’impression à votre application mobile grâce à des API d’impression familières des espaces de noms Windows.Graphics.Printing et Windows.UI.Xaml.Printing.You can now add printing to your mobile app by using familiar printing-related APIs from the Windows.Graphics.Printing and Windows.UI.Xaml.Printing namespaces.
BatterieBattery Les API de la batterie dans l’espace de noms Windows.Devices.Power permettent à votre application d’en savoir plus sur les batteries qui sont connectées à l’appareil qui exécute votre application.The battery APIs in the Windows.Devices.Power namespace let your app learn more about any batteries that are connected to the device that’s running your app. Créez un objet Batterie pour représenter un contrôleur de batterie individuel ou un agrégat de l’ensemble des contrôleurs de batterie (s’ils sont créés respectivement par FromIdAsync ou AggregateBattery).Create a Battery object to represent an individual battery controller or an aggregate of all battery controllers (when created by FromIdAsync or AggregateBattery, respectively). Utilisez la méthode GetReport pour retourner un objet BatteryReport indiquant la charge, la capacité et l’état des batteries correspondantes.Use the GetReport method to return a BatteryReport object that indicates the charge, capacity, and status of the corresponding batteries.
Périphériques MIDIMIDI devices Le nouvel espace de noms Windows.Devices.Midi vous permet de créer les éléments suivants : applications, qui peuvent communiquer avec des appareils MIDI externes ; applications et appareils externes, qui communiquent directement avec le synthétiseur logiciel Microsoft GS MIDI ; et scénarios dans lesquels plusieurs clients accèdent simultanément à un seul port MIDI.The new Windows.Devices.Midi namespace lets you create A=apps that can communicate with external MIDI devices, Apps and external devices that directly communicate with the Microsoft GS MIDI software synthesizer, and scenarios where multiple clients simultaneously access a single MIDI port.
Prise en charge de capteurs personnalisésCustom sensor support L’espace de noms Windows.Devices.Sensors.Custom permet aux développeurs de matériel de définir de nouveaux types de capteur personnalisé, comme les capteurs de CO2.The Windows.Devices.Sensors.Custom namespace allows hardware developers to define new custom sensor types, like a CO2 sensor.
Émulation de carte basée sur l’hôteHost-based Card Emulation (HCE) L’émulation de carte basée sur l’hôte prend en charge l’implémentation de services d’émulation de carte NFC hébergés dans le système d’exploitation, ainsi que la communication avec le terminal de lecteur externe, via la radio NFC.Host card emulation enables you to implement NFC card emulation services hosted in the OS and still be able to communicate with the external reader terminal via NFC radio. Pour déclencher une tâche en arrière-plan afin d’émuler une carte à puce par le biais de la fonction NFC, utilisez la classe SmartCardTrigger.To trigger a background task to emulate a smartcard via NFC, use the SmartCardTrigger class. La valeur EmulatorHostApplicationActivated de l’énumération SmartCardTriggerType permet à votre application de savoir qu’un événement HCE est survenu.The EmulatorHostApplicationActivated value in the SmartCardTriggerType enum lets your app know that an HCE event has occurred.

GraphiquesGraphics

FonctionnalitéFeature DescriptionDescription
DirectXDirectX DirectX 12 dans Windows 10 introduit la nouvelle version de Microsoft Direct3D, l’API graphique 3D au cœur de DirectX.DirectX 12 in Windows 10 introduces the next version of Microsoft Direct3D, the 3D graphics API at the heart of DirectX. Les Graphismes Direct3D 12 prennent en charge l’efficacité et les performances d’une API de niveau inférieur, de type console.Direct3D 12 Graphics enables the efficiency and performance of a low-level, console-like API. Direct3D 12 est plus rapide et plus efficace que jamais.Direct3D 12 is faster and more efficient than ever before. Cette solution permet des scènes plus riches, un plus grand nombre d’objets, des effets plus complexes et une meilleure utilisation du matériel graphique moderne.It enables richer scenes, more objects, more complex effects, and better use of modern graphics hardware.
SoftwareBitmapSourceSoftwareBitmapSource Dans les applications Windows universelles, vous pouvez utiliser le nouveau type SoftwareBitmapSource en tant que source d’image XAML.In Universal Windows apps, you can use the new SoftwareBitmapSource type as a XAML image source. Dès lors, vous pouvez intégrer des images non chiffrées dans la structure XAML et de les afficher immédiatement à l’écran, en contournant le décodage d’image de la structure.This lets you pass un-encoded images to the XAML framework to be immediately displayed on screen, bypassing image decoding by the XAML framework. Vous obtenez un rendu d’image bien plus rapide, par exemple avec les photos à faible décalage directement depuis la caméra, via des décodeurs d’images personnalisés, avec la capture d’images à partir des surfaces DirectX ou en créant des images en mémoire avant de les afficher directement dans le code XAML avec une charge à faibles latence et encombrement de mémoire.You can achieve much faster image rendering, such as rendering low-lag photos directly from the camera, using custom image decoders, capturing frames from DirectX surfaces, or even creating in-memory images from scratch and rendering them all directly in XAML with low latency and low memory overhead.
Caméra de perspectivePerspective Camera Dans les applications Windows universelles, XAML inclut une nouvelle API Transform3D qui vous permet d’appliquer des transformations de perspective à une arborescence XAML (ou une scène), et qui transforme tous les éléments enfants XAML en fonction de cette transformation à l’échelle de la scène (ou de la caméra).In Universal Windows apps, XAML has a new Transform3D API that lets you apply perspective transforms to a XAML tree (or scene), which transforms all XAML child elements according to that single scene-wide transform (or camera). Auparavant, cette opération s’effectuait à l’aide de MatrixTransform et de fonctions mathématiques complexes, mais Transform3D simplifie grandement cet effet, tout en prenant en charge son animation.You could do this previously using MatrixTransform and complex math, but Transform3D greatly simplifies this effect, and also enables the effect to be animated. Pour plus d’informations, voir la propriété UIElement.Transform3D, Transform3D, CompositeTransform3D et PerspectiveTransform3D.For more info, see the UIElement.Transform3D property, Transform3D, CompositeTransform3D, and PerspectiveTransform3D.

MédiasMedia

FonctionnalitéFeature DescriptionDescription
Diffusion en continu en directHTTP Live Streaming La nouvelle classe AdaptiveMediaSource vous permet d’ajouter à vos applications des fonctionnalités de flux vidéo adaptatif.You can use the new AdaptiveMediaSource class to add adaptive video streaming capabilities to your apps. Pour initialiser l’objet, pointez-le vers un fichier de manifeste de diffusion en continu.The object is initialized by pointing it to a streaming manifest file. Parmi les formats de manifeste pris en charge, citons la diffusion en continu en direct HTTP et la diffusion en flux adaptatif dynamique sur HTTP.Supported manifest formats include Http Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH). Une fois que l’objet est lié à un élément multimédia XAML, la lecture adaptative démarre.Once the object is bound to a XAML media element, adaptive playback begins. Les propriétés du flux, comme les débits disponibles, minimum et maximum peuvent être interrogés et définis au besoin.Properties of the stream, such as the available, minimum, and maximum bitrates, can be queried and set where appropriate.
Le processeur XVP (Transcode Video Processor) de Media Foundation prend en charge Media Foundation Transforms (MFT).Media Foundation Transcode Video Processor (XVP) support for Media Foundation Transforms (MFTs) Les applications Windows qui utilisent Media Foundation Transforms peuvent désormais utiliser le processeur XVP (Transcode Video Processor) de Media Foundation pour convertir, mettre à l’échelle et transformer des données vidéo brutes : Le nouvel attribut MF_XVP_CALLER_ALLOCATES_OUTPUT permet d’effectuer des sorties vers les textures allouées de l’appelant, même en mode DXVA (Microsoft DirectX Video Acceleration).Windows apps that use Media Foundation Transforms (MFTs) can now use the Media Foundation Transcode Video Processor (XVP) to convert, scale, and transform raw video data: The new MF_XVP_CALLER_ALLOCATES_OUTPUT attribute enables the output to caller-allocated textures even in Microsoft DirectX Video Acceleration (DXVA) mode. Avec la nouvelle interface IMFVideoProcessorControl2, votre application peut activer les effets de matériel, demander les effets de matériel pris en charge et remplacer l’opération de rotation effectuée par le processeur vidéo.The new IMFVideoProcessorControl2 interface lets your app enable hardware effects, query for supported hardware effects, and override the rotation operation performed by the video processor.
TranscodageTranscoding La nouvelle API MediaProcessingTrigger permet à votre application d’effectuer le transcodage multimédia dans une tâche en arrière-plan, afin que vos opérations de transcodage puissent continuer même lorsque votre application au premier plan a été arrêtée.The new MediaProcessingTrigger API lets your app perform media transcoding in a background task, so your transcoding operations can continue even when your foreground app has been terminated.
Événements de défaillance multimédia MediaElementMediaElement media failure events Dans une application Windows universelle, MediaElement lit le contenu comportant plusieurs flux, même en cas d’erreur de décodage de l’un des flux, tant que le contenu multimédia comporte au moins un flux de données valide.In Universal Windows apps, the MediaElement will play content containing multiple streams even if there’s an error decoding one of the streams, as long as the media content contains at least one valid stream. Par exemple, si le flux vidéo d’un contenu comportant un flux audio et un flux vidéo est mis en échec, l’élément MediaElement joue tout de même le flux audio.For example, if the video stream in a content containing an audio and a video stream fails, the MediaElement will still play the audio stream. PartialMediaFailureDetected vous avertit que l’un des flux ne peut pas être décodé.The PartialMediaFailureDetected notifies you that one of the streams within a stream could not be decoded. Il vous indique également le type de flux mis en échec, de manière à ce que vous puissiez placer cette information dans votre interface utilisateur.It also lets you know what type of stream failed so that you can reflect that info in your UI. Si tous les flux au sein d’un flux multimédia échouent, l’événement MediaFailed est déclenché.If all of the streams within a media stream fail, the MediaFailed event is raised.
Prise en charge de la diffusion vidéo en continu adaptative avec MediaElementSupport for adaptive video streaming with MediaElement MediaElement inclut la nouvelle méthode SetPlaybackSource pour prendre en charge la diffusion de vidéos en continu adaptative.MediaElement has the new SetPlaybackSource method to support adaptive video streaming. Utilisez cette méthode pour définir votre source multimédia sur AdaptiveMediaSource.Use this method to set your media source to an AdaptiveMediaSource.
Diffusion multimédia avec MediaElement et ImageCasting with MediaElement and Image Les contrôles MediaElement et Image incluent la nouvelle méthode GetAsCastingSource.The MediaElement and Image controls have the new GetAsCastingSource method. Vous pouvez utiliser cette méthode pour envoyer du contenu par programmation à partir de n'importe quel élément multimédia ou d’image à un éventail plus large de périphériques distants comme Miracast, Bluetooth et DLNA.You can use this method to programmatically send content from any media or image element to a broader range of remote devices, like Miracast, Bluetooth, and DLNA. Cette fonctionnalité est activée automatiquement lorsque vous définissez AreTransportControlsEnabled sur true dans un MediaElement. This functionality is enabled automatically when you set AreTransportControlsEnabled to true on a MediaElement.
Contrôles de transport multimédia pour les applications de bureauMedia transport controls for desktop apps L’interface ISystemMediaTransportControls et l’API associée autorisent les applications de bureau à interagir avec les contrôles de transport de média intégrés.The ISystemMediaTransportControls interface and related APIs allow desktop apps to interact with the built-in system media transport controls. Ainsi, les applications réagissent aux interactions des utilisateurs avec les boutons des contrôles de transport et mettent à jour l’affichage des contrôles de transport afin d’indiquer les métadonnées relatives au contenu multimédia actuellement lu.This includes responding to user interactions with the transport control buttons, and updating the transport controls display to show metadata about currently playing media content.
Codage et décodage JPEG à accès aléatoireRandom-access JPEG encoding and decoding Les nouvelles méthodes WIC IWICJpegFrameEncode et IWICJpegFrameDecode permettent le codage et le décodage des images JPEG.New WIC methods IWICJpegFrameEncode and IWICJpegFrameDecode enable the encoding and decoding of JPEG images. Vous pouvez également activer l’indexation des données d’image, qui fournit un accès aléatoire efficace aux images de grande taille, contre un plus grand encombrement mémoire.You can also now enable indexing of the image data, which provides efficient random access to large images at the expense of a larger memory footprint.
Superpositions pour compositions multimédiasOverlays for media compositions Les nouvelles API MediaOverlay et MediaOverlayLayer simplifient l’ajout de plusieurs couches de contenu multimédia statique ou dynamique à une composition multimédia.The new MediaOverlay and MediaOverlayLayer APIs make it easy to add multiple layers of static or dynamic media content to a media composition. L’opacité, la position et le minutage peuvent être ajustés pour chacune des couches, et vous pouvez même implémenter votre propre compositeur personnalisé pour les couches d’entrée.Opacity, position, and timing can be adjusted for each layer, and you can even implement your own custom compositor for input layers.
Nouvelle infrastructure d’effetsNew effects framework L’espace de noms Windows.Media.Effects fournit une infrastructure simple et intuitive pour ajouter des effets aux flux audio et vidéo.The Windows.Media.Effects namespace provides a simple and intuitive framework for adding effects to audio and video streams. L’infrastructure inclut des interfaces basiques que vous pouvez implémenter pour créer des effets audio et vidéo personnalisés, à insérer dans le pipeline multimédia.The framework includes basic interfaces that you can implement to create custom audio and video effects and insert them into the media pipeline.

Mise en réseauNetworking

FonctionnalitéFeature DescriptionDescription
SocketsSockets Les mises à jour de socket incluent :Socket updates include:

Broker de socket : Le broker de socket peut établir et fermer les connexions de socket pour le compte d’une application, quel que soit l’état de cycle de vie de l’application.Socket broker: The socket broker can establish and close socket connections on behalf of an app in any state of the app lifecycle. Dès lors, les applications et les services qu’elles fournissent sont davantage détectables.This makes apps and the services that they provide more discoverable. Par exemple, par le biais d’un broker de socket, un service Win32 peut toujours accepter les connexions entrantes de socket, même en dehors de l’état d’exécution.For example, by way of the socket broker, a Win32 service can still accept incoming socket connections even when it’s not running.

Amélioration du débit : Le débit de socket a été optimisé pour les applications qui utilisent l’espace de noms Windows.Networking.Sockets.Throughput improvements: Socket throughput has been optimized for apps that use the Windows.Networking.Sockets namespace.
Tâches post-traitement du transfert en arrière-planBackground Transfer post-processing tasks Les nouvelles API de l’espace de noms Windows.Networking.BackgroundTransfer vous permettent d’inscrire des groupes de tâches de post-traitement.New APIs in the Windows.Networking.BackgroundTransfer namespace let you register groups of post-processing tasks. Votre application peut donc agir dès la réussite ou l’échec des transferts en arrière-plan, même si elle n’est pas au premier plan, au lieu d’attendre sa prochaine reprise par l’utilisateur.So your app can act on the success or failure of background transfers immediately, even if it’s not in the foreground, instead of waiting for the next time the user resumes the app.
Prise en charge Bluetooth pour les publicitésBluetooth support for advertisements Avec l’espace de noms Windows.Devices.Bluetooth.Advertisement, vos applications peuvent envoyer, recevoir et filtrer des annonces Bluetooth LE.With the Windows.Devices.Bluetooth.Advertisement namespace, your apps can send, receive, and filter Bluetooth LE advertisements.
Mise à jour de l’API Wi-Fi DirectWi-Fi Direct API update Le broker d’appareil est mis à jour, pour activer le couplage avec les appareils, sans quitter l’application.The device broker is updated to enable pairing with devices without leaving the app. Des ajouts dans l’espace de noms Windows.Devices.WiFiDirect permettent également aux autres appareils de détecter plus facilement un appareil, lequel peut détecter les notifications de connexion entrante.Additions to the Windows.Devices.WiFiDirect namespace also let a device make itself discoverable to other devices, and let it listen for incoming connection notifications.

Remarque : Dans cette version, les améliorations de la fonctionnalité Wi-Fi Direct ne sont pas intégrées dans l’expérience utilisateur, et elles prennent en charge uniquement le couplage de réinitialisation rapide.Note: In this release, the Wi-Fi Direct feature improvements are not built into the UX, and they support only push-button pairing. Par ailleurs, cette version prend une seule connexion active en charge.Also, this release supports only one active connection.
Améliorations de la prise en charge JSONJSON support improvements L’espace de noms Windows.Data.Json assure désormais une meilleure prise en charge des définitions standard existantes et de l’expérience développeur lors de la conversion des objets JSON au cours des sessions de débogage.The Windows.Data.Json namespace now better supports existing standard definitions and the developer experience when converting JSON objects during debug sessions.

SécuritéSecurity

FonctionnalitéFeature DescriptionDescription
Chiffrement ECCECC encryption Les nouvelles API de l’espace de noms Windows.Security.Cryptography prennent en charge le chiffrement à courbe elliptique (ECC), une implémentation de chiffrement à clé publique basée sur des courbes elliptiques sur des champs finis.New APIs in the Windows.Security.Cryptography namespace provide support for Elliptical Curve Cryptography (ECC), a public-key cryptography implementation based on elliptical curves over finite fields. ECC est plus complexe mathématiquement que RSA, fournit des clés de format plus réduit, réduit la consommation de mémoire et améliore les performances.ECC is mathematically more complex than RSA, provides smaller key sizes, reduces memory consumption, and improves performance. Cette solution offre aux services et aux clients Microsoft une alternative aux clés RSA et aux paramètres de courbe approuvés par le NIST.It offers Microsoft services and customers an alternative to RSA keys and NIST-approved curve parameters.
Microsoft PassportMicrosoft Passport Microsoft Passport est une autre méthode d'authentification, qui remplace les mots de passe par un chiffrement asymétrique associé à un mouvement.Microsoft Passport is an alternative method of authentication that replaces passwords with asymmetric cryptography and a gesture. Les classes de l’espace de noms Credentials, comme KeyCredentialManger, facilitent la création d’applications au moyen de Microsoft Passport, sans qu’il soit nécessaire de recourir aux technologies de chiffrement ou de biométrie, très complexes.Classes in the Credentials namespace, such as KeyCredentialManger, make it easy for developers to create application using Microsoft Passport without the complexity of cryptography or biometrics.
Microsoft Passport for WorkMicrosoft Passport for Work Microsoft Passport for Work est une autre méthode de connexion à Windows à l’aide de votre compte Azure Active Directory qui n’utilise pas de mot de passe, de carte à puce ou de cartes à puce virtuelles.Microsoft Passport for Work is an alternative method for signing in Windows using your Azure Active Directory account that does not use passwords, smart card, and Virtual Smart Cards. Vous pouvez décider de désactiver ou d’activer ce paramètre de stratégie.You can choose whether to disable or enable this policy setting.
Broker à jetonsToken Broker Le broker à jetons est une nouvelle infrastructure d’authentification qui simplifie pour les applications la procédure de connexion aux fournisseurs d’identité en ligne, comme Facebook.Token Broker is a new authentication framework that makes it easier for apps to connect to online identity providers (like Facebook). Les fonctionnalités telles que la gestion du nom d’utilisateur et du mot de passe du compte, associées à une interface utilisateur rationalisée, fournissent une expérience d’authentification considérablement améliorée aux utilisateurs.Features such as account username and password management and a streamlined UI provide a greatly improved authentication experience for users.

Services systèmeSystem services

FonctionnalitéFeature DescriptionDescription
AvancéPower Il est désormais possible de signaler à votre application de bureau Windows l’activation et la désactivation de l’économiseur de batterie.Your Windows desktop application can now be notified when battery saver is engaged or disengaged. En réagissant à l’évolution des conditions d’alimentation, votre application peut étendre l’autonomie de la batterie.By responding to changing power conditions, your application has the opportunity to help extend battery life.

GUID_POWER_SAVING_STATUS : Utilisez ce nouveau GUID avec la fonction PowerSettingRegisterNotification pour être averti de l’activation ou de la désactivation de l’économiseur de batterie.GUID_POWER_SAVING_STATUS: Use this new GUID with the PowerSettingRegisterNotification function to be notified when battery saver is engaged or disengaged.

SYSTEM_POWER_STATUS : Cette structure a été mise à jour pour gérer l’économiseur de batterie.SYSTEM_POWER_STATUS: This structure has been updated to support battery saver. Le quatrième membre, SystemStatusFlag (auparavant appelé Reserved1) indique si l’économiseur de batterie est activé.The fourth member, SystemStatusFlag (previously named Reserved1, now indicates if battery saver is engaged or not. Utilisez la fonction GetSystemPowerStatus pour récupérer un pointeur vers cette structure.Use the GetSystemPowerStatus function to retrieve a pointer to this structure.
VersionVersion Vous pouvez utiliser les fonctions d’assistance de version pour déterminer la version du système d’exploitation.You can use the Version Helper functions to determine the version of the operating system. Pour Windows 10, ces fonctions d’assistance incluent une nouvelle fonction, IsWindows10OrGreater.For Windows 10, these helper functions include a new function, IsWindows10OrGreater. Pour déterminer la version du système, vous devez utiliser les fonctions d’assistance plutôt que les fonctions déconseillées GetVersionEx et GetVersion.You should use the helper functions rather than the deprecated GetVersionEx and GetVersion functions when you want to determine the system version. Pour plus d’informations sur la procédure à suivre pour connaître la version du système, voir Obtention de la version du système.For more information about how to get the system version, see Getting the System Version.

Si vous utilisez la fonction déconseillée GetVersionEx ou GetVersion pour obtenir les informations de version d’une structure OSVERSIONINFOEX ou OSVERSIONINFO, sachez que le numéro de version contenu dans ces structures s’accroît et passe de 6.3 pour Windows 8.1 et Windows Server 2012 R2 à 10.0 pour Windows 10.If you do use the deprecated GetVersionEx or GetVersion function to get version information in an OSVERSIONINFOEX or OSVERSIONINFO structure, be aware that the version number that these structures contain increases from 6.3 for Windows 8.1 and Windows Server 2012 R2 to 10.0 for Windows 10. Pour plus d’informations sur les numéros de version du système d’exploitation, voir Version du système d’exploitation.For more information about version numbers for the operating system, see Operating System Version.

Vous devez également cibler spécifiquement Windows 8.1 ou Windows 10 dans votre application pour obtenir les informations de version correctes correspondant à ces versions avec la fonction GetVersionEx ou GetVersion.You also need to specifically target Windows 8.1 or Windows 10 in your application to get the correct version information for these versions with the GetVersionEx or GetVersion function. Pour en savoir plus sur le ciblage de votre application pour ces versions de Windows, voir Ciblage de votre application pour Windows.For information about how to target your application for these versions of Windows, see Targeting your application for Windows.
Informations utilisateurUser information Les nouvelles API de l’espace de noms Windows.System facilitent l’accès aux informations sur un utilisateur (nom d’utilisateur et photo associée au compte, par exemple).New APIs in the Windows.System namespace make it easy to access information about a user, like their username and account picture. Elles rendent également possibles la réponse à des événements utilisateur, comme les connexions et les déconnexions.It also provides the ability to respond to user events such as log-in and log-out.
Gestion de la mémoire et profilageMemory management and profiling La prise en charge des API de profilage de mémoire dans Windows.System a été étendue à l’ensemble de plateformes. De plus, les fonctionnalités globales de ces API ont été améliorées, grâce à l’ajout de nouvelles classes et fonctions.Support for memory profiling API in Windows.System has been extended to all platforms, and their overall functionality has been enhanced with new classes and functions.

StockageStorage

FonctionnalitéFeature DescriptionDescription
API de recherche de fichiers disponibles pour Windows PhoneFile-search APIs available for Windows Phone Comme un éditeur, vous pouvez configurer votre application pour partager un dossier de stockage avec d’autres applications, publié en ajoutant des extensions au manifeste d’application.As an app publisher, you can register your app to share a storage folder with other apps that you publish by adding extensions to the app manifest. Appelez ensuite la méthode Windows.Storage.ApplicationData.GetPublisherCacheFolder pour obtenir l’emplacement de stockage partagé.Then call the Windows.Storage.ApplicationData.GetPublisherCacheFolder method to get the shared storage location. Le robuste modèle de sécurité des applications Windows Runtime empêche généralement les applications de partager des données entre elles.The strong security model of Windows Runtime apps typically prevents apps from sharing data among themselves. Néanmoins, il peut s’avérer utile pour des applications du même éditeur de partager des fichiers et des paramètres en fonction des utilisateurs.But it can be useful for apps from the same publisher to share files and settings on a per-user basis.

OutilsTools

FonctionnalitéFeature DescriptionDescription
Arborescence visuelle en direct dans Visual StudioLive Visual Tree in Visual Studio Visual Studio dispose d’une nouvelle fonctionnalité d’arborescence visuelle en direct.Visual Studio has a new Live Visual Tree feature. Vous pouvez l'utiliser pendant le débogage pour comprendre rapidement l'état de l'arborescence visuelle de votre application et découvrir comment les propriétés de l’élément ont été définies.You can use it while debugging to quickly understand the state of your app’s visual tree, and discover how element properties were set. Elle vous permet également de modifier les valeurs des propriétés pendant l'exécution de votre application. Dès lors, vous pouvez effectuer des ajustements et des tests sans la relancer.It also lets you change property values while your app is running, so you can tweak and experiment without having to re-launch.
Journalisation du suiviTrace logging TraceLogging est une nouvelle API de suivi d’événements pour les applications en mode utilisateur et les pilotes en mode noyau ; elle repose sur le suivi d’événements pour Windows (ETW).TraceLogging is a new event-tracing API for user-mode apps and kernel-mode drivers; it builds on Event Tracing for Windows (ETW). Cette API fournit un moyen simplifié d’orchestrer le code et d’inclure des données structurées avec des événements sans nécessiter de fichier manifeste XML d’instrumentation distinct.This API provides a simplified way to instrument code and include structured data with events without requiring a separate instrumentation manifest XML file. Les API WinRT, .NET et C/C++ TraceLogging satisfont différents publics de développeurs.WinRT, .NET, and C/C++ TraceLogging APIs are available to serve different developer audiences.

Expérience de l'utilisateurUser Experience

FonctionnalitéFeature DescriptionDescription
Reconnaissance vocaleSpeech recognition La reconnaissance vocale continue pour les scénarios de dictée de longue durée est désormais prise en charge par la plateforme Windows universelle.Continuous speech recognition for long-form dictation scenarios is now supported by the Universal Windows Platform. Pour plus d’informations sur l’activation de la dictée continue, consultez les documents sur l’interaction vocale.See how to enable continuous dictation in the Speech interaction docs.
Fonctionnalités de glisser-déplacer entre différentes plateformes applicativesDrag-and-drop capabilities between different application platforms Le nouvel espace de noms Windows.ApplicationModel.DataTransfer.DragDrop apporte la fonctionnalité de glisser-déplacer aux applications Windows universelles.The new Windows.ApplicationModel.DataTransfer.DragDrop namespaces bring drag-and-drop functionality to Universal Windows apps. Auparavant, les scénarios de glisser-déplacer courants pour les programmes de bureau, par exemple le glissement d’un document à partir d’un dossier vers un message électronique Outlook afin de le joindre, n’étaient pas possibles avec les applications Windows universelles.Previously, common drag-and-drop scenarios for desktop programs—such as dragging a document from a folder into an Outlook email message to attach it—are not possible with Universal Windows apps. À l’aide de ces nouvelles API, votre application donne les moyens aux utilisateurs de déplacer facilement des données entre différentes applications Windows universelles et le bureau.Using these new APIs, your app can let users easily move data between different Universal Windows apps and the desktop.

Pour la prise en charge de la fonctionnalité glisser-déplacer entre les applications, ces nouvelles API ont été ajoutées au code XAML : ListViewBase.DragItemsCompleted ;To support Drag and Drop between apps, these new APIs have been added to XAML: ListViewBase.DragItemsCompleted;
UIElement : CanDrag, DragStarting, StartDragAsync, DropCompleted ;UIElement: CanDrag, DragStarting, StartDragAsync, DropCompleted;
DragOperationDeferral, DragUI, DragUIOverride ;DragOperationDeferral, DragUI, DragUIOverride;
DragEventArgs : AcceptedOperation, DataView, DragUIOverride, GetDeferral, Modifiers ;DragEventArgs: AcceptedOperation, DataView, DragUIOverride, GetDeferral, Modifiers;
DragItemsCompletedEventArgs, DropCompletedEventArgs, DragStartingEventArgsDragItemsCompletedEventArgs, DropCompletedEventArgs, DragStartingEventArgs
Barres de titre des fenêtres personnaliséesCustom window title bars Pour les applications UWP destinées à la famille d’appareils de bureau, vous pouvez désormais utiliser la classe ApplicationViewTitleBar avec la propriété ApplicationView.TitleBar et la méthode Window.SetTitleBar pour remplacer le contenu de la barre de titre Windows par défaut par votre propre contenu XAML personnalisé.For UWP apps for the desktop device family, you can now use the ApplicationViewTitleBar class with the ApplicationView.TitleBar property and Window.SetTitleBar method to replace the default Windows title bar content with your own custom XAML content. Votre XAML est considéré comme du « superflu système », et Windows gérera donc les événements d’entrée au lieu de votre application.Your XAML is treated as "system chrome", so Windows will handle the input events instead of your app. Dès lors, l’utilisateur peut toujours déplacer et redimensionner la fenêtre, même en cliquant sur le contenu de la barre de titre personnalisée.This means the user can still drag and resize the window, even when clicking on your custom title bar content.

WebWeb

FonctionnalitéFeature DescriptionDescription
Microsoft EdgeMicrosoft Edge Microsoft Edge est le nouveau navigateur par défaut conçu pour Windows 10.Microsoft Edge is the new default browser built for Windows 10. Pour plus d’informations et une vue d’ensemble des normes et fonctionnalités de développement incluses dans Microsoft Edge, notamment les dernières fonctionnalités JavaScript, voir le Guide du développeur Microsoft Edge.For more information and an overview of the developer features and standards included in Microsoft Edge, including the latest JavaScript features, see The Microsoft Edge Developer Guide.
Navigation WebViewWebView browsing Le contrôle WebView utilise le même moteur de rendu que le nouveau navigateur Microsoft Edge.The WebView control uses the same rendering engine as the new Microsoft Edge browser. Vous bénéficiez du mode de rendu HTML le plus précis et le plus conforme aux normes.This provides the most accurate, standards-compliant mode of HTML rendering.
WebView hors threadOff-thread WebView Vous pouvez spécifier un WebView.ExecutionMode pour autoriser le traitement et l’affichage de contenu web sur un thread en arrière-plan distinct.You can specify a WebView.ExecutionMode to enable processing and display of web content on a separate background thread. Cette action peut améliorer les performances dans certains scénarios spécifiques.This can improve performance in certain, specific scenarios.
Événement WebView.UnsupportedUriSchemeIdentifiedWebView.UnsupportedUriSchemeIdentified event Le nouvel événement WebView.UnsupportedUriSchemeIdentified vous permet de choisir comment votre application doit traiter un schéma d’URI non pris en charge.The new WebView.UnsupportedUriSchemeIdentified event lets you decide how your app should an unsupported URI scheme. Vous pouvez gérer cet événement pour que votre application prenne en charge le traitement personnalisé des schémas d’URI non pris en charge.You can handle this event to let your app provide custom handling of unsupported URI schemes. Pour le contrôle WebView HTML, voir l’événement MSWebViewUnsupportedUriSchemeIdentified.For the HTML WebView control, see the MSWebViewUnsupportedUriSchemeIdentified event.
Événement WebView.NewWindowRequestedWebView.NewWindowRequested event Le nouvel événement WebView.NewWindowRequested vous permet de répondre lorsqu’un script de WebView demande l’ouverture d’une nouvelle fenêtre de navigateur.The new WebView.NewWindowRequested event lets you respond when a script in a WebView requests a new browser window. Pour le contrôle WebView HTML, voir l’événement MSWebViewNewWindowRequested.For the HTML WebView control, see the MSWebViewNewWindowRequested event.
Événement WebView.PermissionRequestedWebView.PermissionRequested event Le nouvel événement WebView.PermissionRequested permet au contenu WebView de tirer profit des nouvelles API HTML5 qui exigent une autorisation spéciale de l’utilisateur comme la géolocalisation.The new WebView.PermissionRequested event lets WebView content leverage rich new HTML5 APIs that require special permission from the user, like geolocation. Pour le contrôle WebView HTML, voir l’événement MSWebViewPermissionRequested.For the HTML WebView control, see the MSWebViewPermissionRequested event.
Événement WebView.UnviewableContentIdentifiedWebView.UnviewableContentIdentified event Le nouvel événement WebView.UnviewableContentIdentified vous permet de répondre lorsque WebView accède à du contenu non web comme un fichier PDF ou un document Office.The new WebView.UnviewableContentIdentified event lets you respond when the WebView is navigated to non-web content such as a PDF file or Office document. Pour le contrôle WebView HTML, voir l’événement MSWebViewUnviewableContentIdentified.For the HTML WebView controls, see the MSWebViewUnviewableContentIdentified event.
Méthode WebView.AddWebAllowedObjectWebView.AddWebAllowedObject method Vous pouvez appeler la nouvelle méthode WebView.AddWebAllowedObject pour injecter un objet WinRT dans un WebView XAML, puis appeler ses fonctions à partir d’un JavaScript de confiance hébergé sur ce WebView.You can call the new WebView.AddWebAllowedObject method to inject a WinRT object into a XAML WebView, and then call its functions from trusted JavaScript hosted in that WebView. Par exemple, le contenu Web peut afficher des notifications système en demandant à son application parent d’appeler l’API WinRT ToastNotificationManager.For example, web content can show system notifications by requesting that its parent app call the ToastNotificationManager WinRT API. Pour le contrôle WebView HTML, voir la méthode addWebAllowedObject.For the HTML WebView control, see the addWebAllowedObject method.
Méthode WebView.ClearTemporaryWebDataAsyncWebView.ClearTemporaryWebDataAsync method Lorsqu’un utilisateur interagit avec le contenu web d’un WebView XAML, le contrôle WebView met les données en cache en fonction de la session de cet utilisateur.When a user interacts with web content inside a XAML WebView, the WebView control caches data based on that user's session. Vous pouvez appeler la nouvelle méthode ClearTemporaryWebDataAsync pour effacer ce cache.You can call the new ClearTemporaryWebDataAsync method to clear this cache. Par exemple, vous pouvez effacer le cache lorsqu’un utilisateur se déconnecte de l’application pour qu’aucun autre utilisateur n’ait accès aux données de la session précédente.For example, you can clear the cache when one user logs out of the app so another user can’t access any data from the previous session.