Novedades para desarrolladores en Windows 10, compilación 10240What's new in Windows 10 for developers, build 10240

Tanto la compilación 10240 de Windows 10 como el SDK actualizado proporcionan las herramientas, características y experiencias necesarias para crear aplicaciones excepcionales de la Plataforma universal de Windows.Windows 10 build 10240 and the updated SDK provide the tools, features, and experiences to make remarkable Universal Windows Platform apps. Después de instalar las herramientas y el SDK en Windows 10, estarás listo para crear una nueva aplicación universal de Windows o para explorar cómo puedes usar tu código de aplicación existente en 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.

Aquí podrás echar un vistazo a las novedades de cada característica de la compilación 10240 de Windows 10 (también conocida como Windows 10 versión 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).

Diseños adaptablesAdaptive layouts

CaracterísticaFeature DescripciónDescription
Varias vistas de contenido personalizadoMultiple Views for tailored content XAML ofrece nueva compatibilidad para definir vistas adaptadas (archivos .xaml) que comparten el mismo archivo de código.XAML provides new support for defining tailored views (.xaml files) that share the same code file. Esto facilita la creación y el mantenimiento de diferentes vistas adaptadas a un escenario o una familia de dispositivos específicos.This makes it easier for you to create and maintain different views that are tailored to a specific device family or scenario. Si la aplicación tiene distintos modelos de navegación, diseño o contenido de interfaz de usuario que son drásticamente diferentes para diversos escenarios, crea varias vistas.If your app has distinct UI content, layout, or navigation models that are drastically different for different scenarios, build multiple views. Por ejemplo, podrías usar un Pivot con navegación optimizada para usar tu aplicación móvil con una sola mano y usar una SplitView con un menú de navegación optimizado para el mouse en tu aplicación de escritorio.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 Mediante la nueva función VisualState.StateTriggers, puedes establecer de manera condicional propiedades en función del alto o el ancho de ventana o en función de un desencadenador personalizado.Using the new VisualState.StateTriggers feature, you can conditionally set properties based on window height/width or based on a custom trigger. Antes tenías que controlar los eventos SizeChanged de Windows en código y llamar a VisualStateManager.GotoState.Previously, you had to handle Window SizeChanged events in code and call VisualStateManager.GotoState.
EstablecedoresSetters Mediante la nueva sintaxis de VisualState.Setters, puedes usar marcado simplificado para definir cambios de propiedad en VisualStateManager.Using the new VisualState.Setters syntax, you can use simplified markup to define property changes in VisualStateManager. Antes, tenías que usar un guion gráfico y crear animaciones para aplicar cambios de propiedad, como el cambio de la orientación de un StackPanel de Horizontal a 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. En las aplicaciones universales de Windows, puedes usar esta sintaxis de Setter más sencilla: In Universal Windows apps, you can use this simpler Setter syntax:

Funciones XAMLXAML features

CaracterísticaFeature DescripciónDescription
Enlaces de datos compilados (x:Bind)Compiled data bindings (x:Bind) En las aplicaciones universales de Windows, puedes usar el nuevo mecanismo de enlace basado en el compilador habilitado por la propiedad x:Bind.In Universal Windows apps, you can use the new compiler-based binding mechanism enabled by the x:Bind property. Los enlaces basados en el compilador están fuertemente tipados y se procesan en tiempo de compilación, lo que resulta más rápido y ofrece errores en tiempo de compilación cuando no coinciden los tipos de enlace.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. Y dado que los enlaces se traducen al código de la aplicación compilada, ahora puedes depurar enlaces recorriendo el código de Visual Studio para diagnosticar problemas de enlace específicos.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. También puedes usar x:Bind para enlazar a un método, como este: Para escenarios de enlace típicos, puedes usar x:Bind en lugar de Binding y obtener un mejor rendimiento y mantenimiento.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.
Representación incremental declarativa de listas (x:Phase)Declarative incremental rendering of lists (x:Phase) En las aplicaciones universales de Windows, el nuevo atributo x:Phase permite realizar la representación incremental, o en fases, de listas con XAML en lugar de código.In Universal Windows apps, the new x:Phase attribute lets you perform incremental, or phased, rendering of lists using XAML instead of code. Al moverse en el modo panorámico en largas listas con elementos complejos, es posible que tu aplicación no pueda representar elementos lo suficientemente rápido como para igualar la velocidad de movimiento panorámico, lo que hará que la experiencia de los usuarios sea mala.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. La representación por fases permite especificar la prioridad de representación de los elementos individuales en un elemento de lista, por lo que únicamente las partes más importantes del elemento de lista se representan en escenarios de movimiento panorámico rápido.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. Esto produce una experiencia más uniforme de movimiento panorámico para el usuario.This produces a smoother panning experience for your user.

En Windows 8.1, puedes controlar el evento ContainerContentChanging y escribir código para representar elementos de lista en fases.In Windows 8.1, you could handle the ContainerContentChanging event and write code to render list items in phases. En las aplicaciones para UWP, puedes realizar la representación en fases mediante declaración con el atributo x:Phase.In UWP apps, you can accomplish phased rendering declaratively using the x:Phase attribute. Usado junto con x:Bind de enlaces compilados, x:Phase permite especificar con facilidad una prioridad de representación para cada elemento enlazado de una plantilla de datos.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. Al desplazarse en movimiento panorámico, el trabajo para representar elementos se divide por tiempo en función de la fase, lo que permite la representación de elementos incremental.When panning, the work to render items is time-sliced based on the phase, which enables incremental item rendering.
Carga aplazada de elementos de la interfaz de usuario (x:deferLoadstrategy)Deferred loading of UI elements (x:deferLoadstrategy) En las aplicaciones universales de Windows, la nueva directiva x:deferLoadstrategy te permite especificar la carga retrasada de partes de la interfaz de usuario, lo que mejora el rendimiento de inicio y reduce el uso de memoria de la aplicación.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. Por ejemplo, si la interfaz de usuario de la aplicación tiene un elemento para la validación de datos que se muestra únicamente cuando se escriben datos incorrectos, puede retrasar la carga de ese elemento hasta que se necesite.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. A continuación, los objetos del elemento no se crean cuando se carga la página; en su lugar, se crean solo cuando hay un error de datos y es necesario agregarlos al árbol visual de la página.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 El nuevo control SplitView te ofrece una forma de mostrar y ocultar con facilidad contenido transitorio.The new SplitView control gives you a way to easily show and hide transient content. Normalmente se usa para escenarios de navegación de nivel superior como el "menú hamburguesa", donde el contenido de la navegación se oculta y se desliza cuando sea necesario como resultado de una acción del usuario.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 es un nuevo panel de diseño que te permite colocar y alinear objetos secundarios relacionados entre sí o con el panel primario.RelativePanel is a new layout panel that lets you position and align child objects in relation to each other or the parent panel. Por ejemplo, puedes especificar que siempre se debe colocar texto en el lado izquierdo del panel y que un botón siempre se debe alinear debajo del texto.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. Usa ReleativePanel al crear interfaces de usuario que no tengan un patrón lineal claro que llamaría para usar un StackPanel o 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 El control CalendarView facilita el proceso de ver y seleccionar fechas e intervalos de fechas mediante una vista mensual y personalizable.The CalendarView control makes it easy to view and select dates and date ranges using a customizable, month based view. CalendarView admite funciones como las fechas mínima, máxima y sin disponibilidad para limitar qué fechas se pueden seleccionar.CalendarView supports features such as minimum, maximum, and blackout dates to limit which dates can be selected. También puedes configurar barras de densidad personalizadas que se pueden usar para mostrar lo que se ha completado de manera general de la programación en un día concreto.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 es un control desplegable que está optimizado para seleccionar una fecha determinada del CalendarView en que la información contextual es importante; por ejemplo, el día de la semana o lo que se ha completado del calendario.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. Es similar al control DatePicker, pero el DatePicker está optimizado para seleccionar una fecha conocida, como una fecha de nacimiento.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 nueva clase MediaTransportControls facilita al personalización de los controles de transporte de un MediaElement.The new MediaTransportControls class makes it easier to customize the transport controls of a MediaElement. En Windows 8.1, podrías habilitar los controles de transporte integrados de MediaElement o crear tus propios controles de transporte que llaman a métodos de MediaElement.In Windows 8.1, you could enable MediaElement’s built-in transport controls, or create your own transport controls that called MediaElement methods. Ahora puedes usar la funcionalidad integrada de MediaTransportControls y seguir personalizando con facilidad el aspecto para adaptar tu aplicación.Now you can use the built-in functionality of MediaTransportControls, and still easily customize the look to suit your app.
Notificaciones de cambio de propiedadProperty change notifications En las aplicaciones universales de Windows, puedes escuchar los cambios de propiedad en DependencyObjects, incluso para las propiedades que no tienen eventos de cambio correspondientes.In Universal Windows apps, you can listen for property changes on DependencyObjects, even for properties that don’t have corresponding change events. Las notificaciones actúan como un evento, pero realmente se exponen como una devolución de llamada.The notification operates like an event, but is actually exposed as a callback. La devolución de llamada toma un argumento de remitente como un controlador de eventos, pero no toma un argumento de evento.The callback takes a sender argument just like an event handler, but doesn’t take an event argument. En su lugar, solamente se pasa el identificador de la propiedad para indicar la propiedad.Instead, only the property identifier is passed to indicate which property. Con esta información la aplicación puede definir un solo controlador para las notificaciones de varias propiedades.With this info your app can define a single handler for multiple property notifications. Para obtener más información, consulta RegisterPropertyChangedCallback y UnregisterPropertyChangedCallback.For more info, see RegisterPropertyChangedCallback and UnregisterPropertyChangedCallback.
MapsMaps La clase MapControl se ha actualizado para ofrecer imágenes aéreas en 3D y vistas de nivel de calle.The MapControl class been updated to provide aerial 3D imagery and street-level views. Estas nuevas características y las funcionalidades de mapas anteriores ahora están disponibles para las aplicaciones universales de Windows.These new features and earlier mapping functionality are now available to Universal Windows apps. Agrega mapas a la aplicación con las siguientes API: Windows.UI.Xaml.Controls.Maps y Windows.Services.Maps.Add mapping to your app with the following APIs: Windows.UI.Xaml.Controls.Maps and Windows.Services.Maps. Para empezar a usar ya estas API en una aplicación universal de Windows, solicita una clave desde el Centro para desarrolladores de Mapas de Bing.To start using these APIs in a Universal Windows app today, request a key from the Bing Maps Developer Center. Para obtener más información, consulta Cómo autenticar una aplicación de Mapas.For more info, see How to authenticate a Maps app. Otra novedad de Windows 10 es que los usuarios de PC y teléfonos pueden descargar mapas sin conexión desde la aplicación Configuración.Also new for Windows 10, PC and phone users can download offline maps from the Settings app. Si están disponibles, los mapas sin conexión se usan mediante MapControl para mostrar mapas cuando no se dispone de acceso a Internet.When available, offline maps are used by the MapControl to display maps when no internet access is available.
Asignación de botón de entradaInput button mapping La clase Windows.UI.Xaml.Input.KeyEventArgs tiene una nueva propiedad OriginalKey que, junto con su actualización correspondiente a Windows.System.VirtualKey, te permite obtener el botón de entrada original sin asignar asociado al evento de entrada de teclado.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.
Entrada manuscritaInking Actualmente, es más fácil usar las funciones sólidas de entrada manuscrita en aplicaciones de Windows en tiempo de ejecución con C++, C# o Visual Basic, gracias al control InkCanvas y las clases subyacentes de InkPresenter.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. El control InkCanvas define un área de superposición para dibujar y representar trazos de lápiz.The InkCanvas control defines an overlay area for drawing and rendering ink strokes. La funcionalidad de este control (entrada, procesamiento y representación) procede de las clases InkPresenter, InkStroke, InkRecognizers e InkSynchronizer.The functionality for this control (input, processing, and rendering) comes from the InkPresenter, InkStroke, InkRecognizers, and InkSynchronizer classes. Importante: Estas clases no se admiten en aplicaciones de Windows que usan JavaScript.Important: These classes are not supported in Windows apps using JavaScript.

Funciones XAML actualizadasUpdated XAML features

CaracterísticaFeature DescripciónDescription
Actualizaciones de CommandBar y AppBarCommandBar and AppBar updates Los controles CommandBar y AppBar se han actualizado para tener una API, un comportamiento y una experiencia del usuario coherentes para aplicaciones para UWP en todas las familias de dispositivos.The CommandBar and AppBar controls have been updated to have a consistent API, behavior and user experience for UWP apps across device families.

El control CommandBar para aplicaciones universales de Windows se ha mejorado para ofrecer un superconjunto de funciones de AppBar y una mayor flexibilidad en la manera en que puedes usarlo en la aplicación.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. Deberías usar CommandBar para todas las nuevas aplicaciones universales de Windows en Windows 10.You should use CommandBar for all new Universal Windows apps on Windows 10. En un control CommandBar en Windows 8.1, podrías usar solo controles que implementan ICommandBarElement, como AppBarButton.In a CommandBar in Windows 8.1, you could use only controls that implemented ICommandBarElement, like AppBarButton. En las aplicaciones universales de Windows, ahora puedes incluir contenido personalizado en CommandBar además de AppBarButtons.In Universal Windows apps, you can now put custom content in the CommandBar in addition to AppBarButtons.

Se ha actualizado el control de AppBar para que puedas mover con mayor facilidad las aplicaciones de Windows 8.1 que usan AppBar para la Plataforma universal de Windows.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 se diseñó para su uso con aplicaciones de pantalla completa y para invocarse con gestos de borde.AppBar was designed to be used with full-screen apps, and to be invoked using edge gestures. Se ha actualizado la cuenta de controles para problemas como las aplicaciones con ventana y la falta de gestos de borde en Windows 10.Updates to the control account for issues such as windowed apps and the lack of edge gestures in Window 10.

El AppBar.ClosedDisplayMode oculto, anteriormente solo en Windows Phone, se admite ahora en todas las familias de dispositivos, lo que te permite elegir entre diferentes niveles de sugerencias para comandos.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 muestra una sugerencia mínima de forma predeterminada para ofrecerte coherencia al actualizar las aplicaciones de Windows 8.1 a aplicaciones universales de Windows en las que ya no puedes confiar en la compatibilidad de gestos de borde de la plataforma.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.
Actualizaciones de GridViewGridView updates Antes de Windows 10, la orientación de diseño GridView predeterminada era horizontal en Windows y vertical en Windows Phone.Prior to Windows 10, the default GridView layout orientation was horizontal on Windows and vertical on Windows Phone. En las aplicaciones para UWP, GridView usa un diseño vertical de manera predeterminada para todas las familias de dispositivos a fin de garantizar que tengas una experiencia predeterminada coherente.In UWP apps, GridView uses a vertical layout by default for all device families to ensure you have by consistent default experience.
Propiedad AreStickyGroupHeadersEnabledAreStickyGroupHeadersEnabled property Cuando muestras datos agrupados en un control ListView o GridView, los encabezados de grupo ahora permanecen visibles cuando se desplaza la lista.When you show grouped data in a ListView or GridView, the group headers now remain visible when the list is scrolled. Esto es importante en grandes conjuntos de datos donde el encabezado ofrece contexto para los datos que el usuario está viendo.This is important in large data sets where the header provides context for the data the user is viewing. Sin embargo, en casos donde solo hay algunos elementos en cada grupo, es posible que quieras que los encabezados se desplacen fuera de la pantalla con los elementos.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. Puedes establecer la propiedad AreStickyGroupHeadersEnabled en ItemsStackPanel e ItemsWrapGrid para controlar este comportamiento.You can set the AreStickyGroupHeadersEnabled property on ItemsStackPanel and ItemsWrapGrid to control this behavior.
Método GroupHeaderContainerFromItemContainerGroupHeaderContainerFromItemContainer method Cuando muestras datos agrupados en un ItemsControl, puedes llamar al método GroupHeaderContainerFromItemContainer para obtener una referencia al encabezado de elemento principal para el grupo.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. Por ejemplo, si un usuario elimina el último elemento de un grupo, puedes obtener una referencia al encabezado del grupo y quitar tanto el elemento como el encabezado del grupo a la vez.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.
Evento ChoosingGroupHeaderContainerChoosingGroupHeaderContainer event El nuevo evento ChoosingGroupHeaderContainer en ListViewBase te permite establecer el estado en los encabezados de grupo en un control ListView o GridView.The new ChoosingGroupHeaderContainer event on ListViewBase lets you set state on the group headers in a ListView or GridView. Por ejemplo, puedes controlar este evento para establecer la AutomationProperties.Nameproperty en el encabezado del grupo para que represente el grupo en las tecnologías de ayuda.For example, you might handle this event to set the AutomationProperties.Nameproperty on the group header to represent the group in assistive technologies.
Evento ChoosingItemContainerChoosingItemContainer event El nuevo evento ChoosingItemContainer en ListViewBase te ofrece un mayor control sobre la virtualización de la interfaz de usuario en un ListView o GridView.The new ChoosingItemContainer event on ListViewBase gives you greater control over UI virtualization in a ListView or GridView. Usa este evento junto con el evento ContainerContentChanging para mantener tu propia cola de contenedores reciclados a la que recurrir según sea necesario.Use this event in conjunction with the ContainerContentChanging event to maintain your own queue of recycled containers from which to draw upon as needed. Por ejemplo, si el origen de datos se ha restablecido debido al filtrado, puedes hacer coincidir rápidamente un conjunto de elementos visuales (ItemContainers) ya creados con sus datos para lograr un rendimiento óptimo.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.
Virtualización de desplazamiento de la listaList scrolling virtualization Los controles ListView y GridView en XAML tienen un nuevo evento ListViewBase.ChooseingItemContainer que mejora el rendimiento del control cuando se produce un cambio en la colección de datos.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. En lugar de realizar un restablecimiento completo de la lista, en el que se reproduce la animación de entrada, el sistema ahora mantiene los elementos actuales de la vista, junto con el estado de selección y enfoque; los elementos nuevos y quitados de la ventanilla aparecen y desaparecen sin problemas.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. Después de realizar un cambio en la colección de datos en la que los contenedores no se destruyen, una aplicación puede relacionar rápidamente cualquier elemento "antiguo" con su contenedor previo y omitir el procesamiento posterior de los métodos de invalidación del ciclo de vida del contenedor.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. Solo los elementos "nuevos" se procesan y se asocian a los contenedores reciclados o nuevos.Only "new" items are processed and associated with recycled or new containers.
Método SelectRange y propiedad SelectedRangesSelectRange method and SelectedRanges property En aplicaciones universales de Windows, los controles ListView y GridView ahora permiten seleccionar elementos en términos de rangos de índices de elementos en lugar de referencias de objetos de elementos.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. Esta es una manera más eficaz de describir la selección de elementos porque los objetos de elementos no se tienen que crear para cada elemento seleccionado.This is a more efficient way to describe item selection because item objects don’t need to be created for each selected item. Para obtener más información, consulta ListViewBase.SelectedRanges, ListViewBase.SelectRange y ListViewBase.DeselectRange.For more info, see ListViewBase.SelectedRanges, ListViewBase.SelectRange, and ListViewBase.DeselectRange.
Nuevas API de ListViewItemPresenterNew ListViewItemPresenter APIs ListView y GridView usan presentadores de elementos para proporcionar los elementos visuales predeterminados para selección y foco.ListView and GridView use item presenters to provide the default visuals for selection and focus. En las aplicaciones para UWP, ListViewItemPresenter y GridViewItemPresenter tienen propiedades nuevas que te permiten personalizar aún más los elementos visuales para los elementos de lista.In UWP apps, ListViewItemPresenter and GridViewItemPresenter have new properties that let you further customize visuals for list items. Las nuevas propiedades son CheckBoxBrush, CheckMode, FocusSecondaryBorderBrush, PointerOverForeground, PressedBackground y SelectedPressedBackground.The new properties are CheckBoxBrush, CheckMode, FocusSecondaryBorderBrush, PointerOverForeground, PressedBackground, and SelectedPressedBackground.
Actualizaciones de SemanticZoomSemanticZoom updates El control SemanticZoom tiene ahora un comportamiento coherente para las aplicaciones para UWP entre todas las familias de dispositivos.The SemanticZoom control now has one consistent behavior for UWP apps across all device families. La acción predeterminada para cambiar entre la vista acercada y la vista alejada es pulsar en un encabezado de grupo en la vista acercada.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. Esto es lo mismo que el comportamiento en Windows Phone 8.1, pero supone un cambio respecto a Windows 8.1, que usaba el gesto de reducir para hacer zoom.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. Para cambiar las vistas mediante reducir para acercar, establece ScrollViewer.ZoomMode="Enabled" en el ScrollViewer interno de SemanticZoom.To change views using pinch-to- zoom, set ScrollViewer.ZoomMode="Enabled" on the SemanticZoom’s internal ScrollViewer.

En las aplicaciones universales de Windows, la vista alejada reemplaza la vista acercada y tiene el mismo tamaño que la vista que reemplazó.For Universal Windows apps, the zoomed out view replaces the zoomed in view and is the same size as the view that it replaced. Este es el mismo comportamiento que en Windows 8.1, pero supone un cambio respecto a Windows Phone 8.1, donde la vista alejada ocupaba todo el tamaño de la pantalla y se representaba encima de todo el resto del contenido.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.
Actualizaciones de DatePicker y TimePickerDatePicker and TimePicker updates Los controles DatePicker y TimePicker ahora tienen una implementación coherente para las aplicaciones universales de Windows en todas las familias de dispositivos.The DatePicker and TimePicker controls now have one consistent implementation for Universal Windows apps across all device families. También tienen un nuevo aspecto para Windows 10.They also have a new look for Windows 10. La parte emergente del control ahora usa los controles DatePickerFlyout y TimePickerFlyout en todos los dispositivos.The pop-up portion of the control now uses DatePickerFlyout and TimePickerFlyout controls on all devices. Este es el mismo comportamiento que en Windows Phone 8.1, pero supone un cambio respecto a Windows 8.1, que usaba controles 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. El uso de los controles flotantes permite crear selectores de hora y fecha personalizados con facilidad.Using the flyout controls lets you easily create customized date and time pickers.
Nuevas API de ScrollViewerNew ScrollViewer APIs ScrollViewer tiene los nuevos eventos DirectManipulationStarted y DirectManipulationCompleted, para notificar a la aplicación cuándo se inicia y se detiene el movimiento panorámico táctil.ScrollViewer has new DirectManipulationStarted and DirectManipulationCompleted events to notify your app when touch panning starts and stops. Puedes controlar estos eventos para coordinar tu interfaz de usuario con estas acciones de usuario.You can handle these events to coordinate your UI with these user actions.
Actualizaciones de MenuFlyoutMenuFlyout updates En las aplicaciones universales de Windows, hay nuevas API que te permiten compilar mejores menús contextuales con mayor facilidad.In Universal Windows apps, there are new APIs that let you build better context menus more easily. El nuevo método MenuFlyout.ShowAt te permite especificar dónde quieres que aparezca el control flotante en relación con otro elemento.The new MenuFlyout.ShowAt method lets you specify where you want the flyout to appear in relation to another element. (Y el MenuFlyout incluso se puede superponer a los límites de la ventana de tu aplicación). Usa la nueva clase MenuFlyoutSubItem para crear menús en cascada.(And your MenuFlyout can even overlap the boundaries of your app’s window.) Use the new MenuFlyoutSubItem class to create cascading menus.
Nuevas propiedades de borde para ContentPresenter, Grid y StackPanelNew Border properties for ContentPresenter, Grid, and StackPanel Los controles de contenedor comunes tienen nuevas propiedades de borde que te permiten dibujar un borde alrededor de ellos sin agregar un elemento de borde adicional en el 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 y StackPanel tienen estas nuevas propiedades: BorderBrush, BorderThickness, CornerRadius y Padding.ContentPresenter, Grid, and StackPanel have these new properties: BorderBrush, BorderThickness, CornerRadius, and Padding.
Nuevas API de texto en ContentPresenterNew text APIs on ContentPresenter ContentPresenter tiene API nuevas que ofrecen un mayor control sobre la presentación del texto: LineHeight, LineStackingStrategy, MaxLines y TextWrapping.ContentPresenter has new APIs that give you more control over text display: LineHeight, LineStackingStrategy, MaxLines, and TextWrapping.
Elementos visuales de foco del sistemaSystem Focus Visuals Ahora el sistema crea elementos visuales de foco para controles XAML, en lugar de declararse como elementos XAML en la plantilla de control.Focus visuals for XAML controls are now created by the system, instead of being declared as XAML elements in the control template. Por lo general, los elementos visuales de foco no suelen ser necesarios en los dispositivos móviles, y se mejora el rendimiento de la aplicación al permitir que el sistema los cree y administre según sea necesario.The focus visuals are not typically needed on mobile devices, and letting the system create and manage them as needed improves app performance. Si necesita un mayor control sobre los elementos visuales de foco, puedes invalidar el comportamiento del sistema y ofrecer una plantilla de control personalizado que defina los elementos visuales de foco.If you need greater control over focus visuals, you can override the system behavior and providing a custom control template that defines focus visuals. Consulta UseSystemFocusVisuals e IsTemplateFocusTarget para obtener más información.See UseSystemFocusVisuals and IsTemplateFocusTarget for more info.
PasswordBox.PasswordRevealModePasswordBox.PasswordRevealMode En las aplicaciones universales de Windows, la propiedad PasswordRevealMode reemplaza la propiedad IsPasswordRevealButtonEnabled para ofrecer un comportamiento coherente en todas las familias de dispositivos.In Universal Windows apps, the PasswordRevealMode property replaces the IsPasswordRevealButtonEnabled property to provide consistent behavior across device families. Precaución: Antes de Windows 10, el botón para mostrar la contraseña no se mostraba de manera predeterminada; en cambio, en las aplicaciones universales de Windows se muestra de forma predeterminada.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 seguridad de la aplicación requiere que la contraseña esté siempre oculta, asegúrate de establecer el valor de PasswordRevealMode en Oculta.If the security of your app requires that the password is always obscured, be sure to set PasswordRevealMode to Hidden.
Control.IsTextScaleFactorEnabledControl.IsTextScaleFactorEnabled La propiedad IsTextScaleFactorEnabled que estaba disponible en Windows Phone 8.1 está ahora disponible para aplicaciones universales de Windows en todas las familias de dispositivos.The IsTextScaleFactorEnabled property that was available on Windows Phone 8.1 is now available for Universal Windows apps across all device families.
AutoSuggestBoxAutoSuggestBox El control AutoSuggestBox de Windows Phone 8.1 ahora está disponible para aplicaciones universales de Windows en todas las familias de dispositivos y debes usarlo en lugar 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 proporciona sugerencias mientras el usuario escribe, y funciona bien con diversos tipos de entrada, como la entrada táctil, el teclado y los Editores de métodos de entrada.AutoSuggestBox provides suggestions as the user types, and works well with various input types, like touch, keyboard, and Input Method Editors. También tiene algunos miembros nuevos para que funcione mejor como un cuadro de búsqueda: la propiedad QueryIcon y el evento QuerySubmitted.It also has some new members to make it work better as a search box: the QueryIcon property and the QuerySubmitted event.
ContentDialogContentDialog El control ContentDialog de Windows Phone 8.1 ahora está disponible para aplicaciones universales de Windows en todas las familias de dispositivos.The ContentDialog control from Windows Phone 8.1 is now available for Universal Windows apps across all device families. ContentDialog permite mostrar un cuadro de diálogo modal personalizable que funciona perfectamente en toda la gama de dispositivos.ContentDialog lets you display a customizable modal dialog that works great across the full spectrum of devices.
PivotPivot El control Pivot de Windows Phone 8.1 ahora está disponible para aplicaciones universales de Windows en todas las familias de dispositivos.The Pivot control from Windows Phone 8.1 is now available for Universal Windows apps across all device families. Ahora puedes usar el mismo control Pivot en tu aplicación para dispositivos móviles y de escritorio.You can now use the same Pivot control for in your app for mobile and desktop devices. Pivot ofrece un comportamiento adaptativo en función del tamaño de la pantalla y el tipo de entrada.Pivot provides adaptive behavior based on the screen size and input type. Puedes aplicar estilo a un control Pivot para ofrecer un comportamiento similar al de las pestañas, con diferentes vistas de información en cada elemento dinámico.You can style a Pivot control to provide tab-like behavior, with different views of information in each pivot item.

TextoText

CaracterísticaFeature DescripciónDescription
API de texto principales de WindowsWindows core text APIs El nuevo espacio de nombres Windows.UI.Text.Core ofrece un sistema de cliente/servidor que centraliza el procesamiento de entrada de teclado en un solo servidor.The new Windows.UI.Text.Core namespace features a client-server system that centralizes the processing of keyboard input into a single server. Puedes usarlo para manipular el búfer de edición del control de entrada de texto personalizado.You can use it to manipulate the edit buffer of your custom text input control. El servidor de entrada de texto se asegura de que el contenido del control de entrada de texto y el contenido de su búfer de edición estén siempre sincronizados a través de un canal de comunicación asincrónica entre la aplicación y el servidor.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.
Iconos de vectorVector icons El elemento Glyphs tiene las nuevas propiedades IsColorFontEnabled y ColorFontPalleteIndex para admitir fuentes de colores; ahora puedes usar un archivo de fuente para representar iconos basados en fuentes.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. Cuando usas ColorFontPalleteIndex para cambiar la paleta de colores, se puede representar un solo icono con conjuntos de colores diferentes; por ejemplo, para mostrar una versión habilitada y deshabilitada del icono.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.
Eventos de ventana del Editor de métodos de entradaInput Method Editor window events A veces, los usuarios escriben texto mediante un Editor de métodos de entrada que se muestra en una ventana justo debajo de un cuadro de entrada de texto (normalmente para idiomas de Este de Asia).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). Puedes usar el evento CandidateWindowBoundsChanged y la propiedad DesiredCandidateWindowAlignment en TextBox y RichEditBox para que la interfaz de usuario de la aplicación funcione mejor con la ventana del 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.
Eventos de composición de textoText composition events TextBox y RichEditBox tienen nuevos eventos para informar a la aplicación de cuándo se crea el texto mediante un Editor de métodos de entrada: TextCompositionStarted, TextCompositionEnded y TextCompositionChanged.TextBox and RichEditBox have new events to inform your app when text is composed using an Input Method Editor: TextCompositionStarted, TextCompositionEnded, and TextCompositionChanged. Puedes controlar estos eventos para coordinar el código de la aplicación con el proceso de composición del texto del IME.You can handle these events to coordinate your app code with the IME text composition process. Por ejemplo, podrías implementar la funcionalidad de finalización automática en línea para idiomas de Este de Asia.For example, you could implement inline auto-completion functionality for East Asian languages.
Control mejorado del texto bidireccionalImproved handling of bi-directional text Los controles de texto XAML tienen una nueva API para mejorar el control del texto bidireccional, lo que da lugar a una mejor direccionalidad de párrafo y alineación de texto en una variedad de idiomas de entrada.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. El valor predeterminado de la propiedad TextReadingOrder se ha cambiado a DetectFromContent, por lo que la compatibilidad para detectar el orden de lectura está habilitada de manera predeterminada.The default value of the TextReadingOrder property has been changed to DetectFromContent, so support for detecting reading order is enabled by default. También se ha agregado la propiedad TextReadingOrder a PasswordBox, RichEditBox y TextBox.The TextReadingOrder property has also been added to PasswordBox, RichEditBox, and TextBox. Puede establecer la propiedad TextAlignment en controles de texto en el nuevo valor de DetectFromContent para optar por recibir tener la alineación detectada automáticamente desde el contenido.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.
Representación de textoText rendering En Windows 10, el texto en aplicaciones XAML representa ahora, en la mayoría de las situaciones, a casi dos veces la velocidad de Windows 8.1.In Windows 10, text in XAML apps now renders, in most situations, at nearly twice the speed of Windows 8.1. En la mayoría de los casos, las aplicaciones se beneficiarán de esta mejora sin necesidad de cambios.In most cases, your apps will benefit from this improvement without any changes. Además de una representación más rápida, estas mejoras también reducen el consumo de memoria típico de las aplicaciones XAML en un 5 %.In addition to faster rendering, these improvements also reduce typical memory consumption of XAML apps by 5%.

Modelo de aplicaciónApplication model

CaracterísticaFeature DescripciónDescription
CortanaCortana Amplía la funcionalidad básica de Cortana con comandos de voz que inicien y ejecuten una acción única en una aplicación externa.Extend the basic functionality of Cortana with voice commands that launch and execute a single action in an external application. Al integrar la funcionalidad básica de tu aplicación y ofrecer un punto de entrada central para que el usuario realice la mayoría de las tareas sin tener que abrir la aplicación directamente, Cortana puede ser un enlace entre tu aplicación y el usuario.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. En muchos casos, esto puede ahorrarle al usuario un tiempo y esfuerzo considerables.In many cases, this can save the user significant time and effort. Aprende cómo integrar tu aplicación en el lienzo de Cortana.Learn how to integrate your app into the Cortana canvas. Si necesitas ideas, puede consultar las recomendaciones de diseño y las directrices de experiencia del usuario específicas para Cortana en Conceptos básicos de diseño de aplicaciones universales de Windows.If you need ideas you can refer to the design recommendations and UX guidelines specific to Cortana in Design basics for Universal Windows apps.
Explorador de archivosFile Explorer Los nuevos métodos Windows.System.Launcher.LaunchFolderAsync permiten iniciar el Explorador de archivos y muestran el contenido de una carpeta que especifiques.The new Windows.System.Launcher.LaunchFolderAsync methods let you launch File Explorer and displays the contents of a folder that you specify.
Almacenamiento compartidoShared storage La nueva clase Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager y sus métodos te permiten compartir un archivo con otra aplicación al pasar un token de uso compartido cuando inicias la otra aplicación mediante la activación de 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. La aplicación de destino canjea el token para conseguir el archivo compartido por la aplicación de origen.The target app redeems the token to get the file shared by the source app.
SettingsSettings Muestra las páginas de configuración integradas al usar el protocolo ms-settings con el método LaunchUriAsync.Display built-in settings pages by using the ms-settings protocol with the LaunchUriAsync method. Por ejemplo, el siguiente código muestra la página de configuración de 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"));

Para obtener una lista de las páginas de configuración que puedes mostrar, consulta Cómo mostrar páginas de configuración integradas con el protocolo ms-ajustes.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.
Comunicación de una aplicación a otraApp-to-App communication Las nuevas API de comunicación de una aplicación a otra en Windows 10 permiten que las aplicaciones Windows (así como las aplicaciones web de Windows) se inicien entre sí e intercambien archivos y datos.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. Con estas nuevas API, las tareas complejas que hubieran requerido que el usuario usara varias aplicaciones se pueden controlar ahora sin problemas.Using these new APIs, complex tasks that would have required the user to use multiple applications can now be handled seamlessly. Por ejemplo, la aplicación podría iniciar una aplicación de redes sociales para elegir un contacto o iniciar una aplicación de confirmación de compra para completar un proceso de pago.For example, your app could launch a social networking app to choose a contact, or launch a checkout application to complete a payment process.
Servicios de aplicacionesApp services Un servicio de aplicaciones es un modo de que una aplicación proporcione servicios a otras aplicaciones en Windows 10.An app service is a way for an app to provide services to other apps in Windows 10. Un servicio de aplicaciones tiene la forma de una tarea en segundo plano.An app service takes the form of a background task. Las aplicaciones en primer plano pueden llamar a un servicio de aplicación en otra aplicación para realizar tareas en segundo plano.Foreground apps can call an app service in another app to perform tasks in the background. Para obtener información de referencia acerca de la API del servicio de aplicación, consulta Windows.ApplicationModel.AppService.For reference information about the app service API, see Windows.ApplicationModel.AppService.
Manifiesto del paquete de la aplicaciónApp package manifest Las actualizaciones de la referencia del esquema de manifiesto del paquete para Windows 10 incluyen elementos que se han agregado, quitado y cambiado.Updates to the package manifest schema reference for Windows 10 include elements that have been added, removed, and changed. Consulta Jerarquía de elementos para obtener información de referencia sobre todos los elementos, atributos y tipos del esquema.See Element Hierarchy for reference info on all elements, attributes, and types in the schema.

DispositivosDevices

CaracterísticaFeature DescripciónDescription
Microsoft Surface HubMicrosoft Surface Hub Microsoft Surface Hub es un dispositivo de colaboración de equipos eficaz y una plataforma de pantalla grande para las aplicaciones universales de Windows que se ejecutan de forma nativa desde Surface Hub o desde el dispositivo conectado.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. Crea tus propias aplicaciones, diseñadas específicamente para tu negocio, que aprovechen las ventajas de la pantalla grande, la entrada táctil y manuscrita, y una gran cantidad de hardware incorporado como cámaras y sensores.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.

Echa un vistazo a las recomendaciones de diseño y las directrices de experiencia del usuario específicas de Surface Hub en Conceptos básicos de diseño de aplicaciones universales de Windows.Have a look at the design recommendations and UX guidelines specific to Surface Hub in Design basics for Universal Windows apps. Estos documentos explican técnicas de diseño con capacidad de respuesta para aplicaciones universales de Windows.These docs explain responsive design techniques for Universal Windows apps.

Para obtener más detalles sobre cómo admitir aplicaciones compartidas comunes, consulta SharedModeSettings.For detail on supporting communal shared apps, see SharedModeSettings. Para obtener información sobre la entrada manuscrita y detalles sobre la compatibilidad con la entrada manuscrita de varios puntos en el nuevo control InkCanvas, consulta Windows.UI.Input.Inking y 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. Para controlar la entrada del sensor, consulta Integración de dispositivos, impresoras y sensores.For handling sensor input, see Integrating devices, printers, and sensors.
UbicaciónLocation Windows 10 incorpora un nuevo método de solicitud de permiso al usuario para obtener acceso a su ubicación, RequestAccessAsync.Windows 10 introduces a new method to prompt the user for permission to access their location, RequestAccessAsync. El usuario establece la privacidad de sus datos de ubicación con la configuración de privacidad de ubicación en la aplicación Configuración.The user sets the privacy of their location data with the location privacy settings in the Settings app. La aplicación puede acceder a la ubicación del usuario solo cuando: Ubicación para este dispositivo está activado (no se aplica para Windows 10 para teléfonos) , la configuración de los servicios de ubicación "Ubicación" está activada y, en Elige las aplicaciones que pueden usar tu ubicación, tu aplicación está activada.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.

Es importante llamar a RequestAccessAsync antes de acceder a la ubicación del usuario.It's important to call RequestAccessAsync before accessing the user’s location. En ese momento, la aplicación debe estar en primer plano y se debe llamar a RequestAccessAsync desde el subproceso de la interfaz de usuario.At that time, your app must be in the foreground and RequestAccessAsync must be called from the UI thread. La aplicación no puede tener acceso a los datos de ubicación hasta que el usuario conceda permiso.Until the user grants your app permission to their location, your app can't access location data.
AllJoynAllJoyn El espacio de nombres Windows.Devices.AllJoyn de Windows Runtime incorpora la implementación de los servicios y el marco de software de código abierto de AllJoyn de Microsoft.The Windows.Devices.AllJoyn Windows Runtime namespace introduces Microsoft's implementation of the AllJoyn open source software framework and services. Estas API permiten que tu aplicación universal para dispositivos Windows participe con otros dispositivos de escenarios de Internet de las cosas (IoT) controlados por 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. Para obtener más detalles sobre las API C de AllJoyn, descarga la documentación en The AllSeen Alliance.For more details about the AllJoyn C APIs, download the documentation at The AllSeen Alliance. Usa la herramienta AllJoynCodeGen que se incluye en este lanzamiento para generar un componente de Windows que puedas usar para habilitar escenarios de AllJoyn en tu aplicación de dispositivo.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.

Nota: Windows 10 IoT Core ahora está disponible para una nueva clase de dispositivos pequeños, lo que te permite crear dispositivos de "Internet de las cosas" (IoT) con Windows y 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. Averigua más sobre Windows IoT en el Centro de desarrollo de Windows.Learn more about Windows IoT on Windows Dev Center.
API de impresión en móviles (XAML)Printing APIs on mobile (XAML) Hay un conjunto único y unificado de API que te permite imprimir desde tus aplicaciones para UWP basadas en XAML entre las familias de dispositivos, incluidos los dispositivos móviles.There is a single, unified set of APIs that let you print from your XAML-based UWP apps across device families, including mobile devices. Ahora puedes agregar impresión a tu aplicación móvil mediante las API típicas relacionadas con la impresión desde los espacios de nombres Windows.Graphics.Printing y 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.
BateríaBattery Con las API de batería del espacio de nombres Windows.Devices.Power, tu aplicación puede obtener más información sobre las baterías que están conectadas al dispositivo que ejecuta la aplicación.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. Crea un objeto Battery para representar un controlador individual de la batería o a un agregado de todos los controladores de la batería (cuando lo cree FromIdAsync o AggregateBattery, respectivamente).Create a Battery object to represent an individual battery controller or an aggregate of all battery controllers (when created by FromIdAsync or AggregateBattery, respectively). Usa el método GetReport para devolver un objeto BatteryReport que indique la carga, la capacidad y el estado de las baterías correspondientes.Use the GetReport method to return a BatteryReport object that indicates the charge, capacity, and status of the corresponding batteries.
Dispositivos MIDIMIDI devices El nuevo espacio de nombres Windows.Devices.Midi te permite crear aplicaciones que se pueden comunicar con dispositivos MIDI externos, aplicaciones y dispositivos externos que se comunican directamente con el sintetizador de software de Microsoft GS MIDI y escenarios donde varios clientes acceden al mismo a un solo puerto 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.
Compatibilidad del sensor personalizadoCustom sensor support El espacio de nombres Windows.Devices.Sensors.Custom permite a los desarrolladores de hardware definir nuevos tipos de sensores personalizados, como un sensor de CO2.The Windows.Devices.Sensors.Custom namespace allows hardware developers to define new custom sensor types, like a CO2 sensor.
Emulación de tarjeta basada en host (HCE)Host-based Card Emulation (HCE) La emulación de tarjeta de host te permite implementar servicios de emulación de tarjeta NFC hospedados en el sistema operativo y aun así poder comunicarte con el terminal del lector externo mediante 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. Para desencadenar una tarea en segundo plano para emular una tarjeta inteligente a través de NFC, usa la clase SmartCardTrigger.To trigger a background task to emulate a smartcard via NFC, use the SmartCardTrigger class. El valor EmulatorHostApplicationActivated de la enumeración SmartCardTriggerType permite que la aplicación sepa si se produjo un evento HCE.The EmulatorHostApplicationActivated value in the SmartCardTriggerType enum lets your app know that an HCE event has occurred.

GráficosGraphics

CaracterísticaFeature DescripciónDescription
DirectXDirectX DirectX 12 en Windows 10 incorpora la nueva versión de Microsoft Direct3D, la API de gráficos 3D en el corazón de DirectX.DirectX 12 in Windows 10 introduces the next version of Microsoft Direct3D, the 3D graphics API at the heart of DirectX. Direct3D 12 Graphics ofrece la eficacia y el rendimiento de una API de tipo consola de bajo nivel.Direct3D 12 Graphics enables the efficiency and performance of a low-level, console-like API. Direct3D 12 es más rápido y más eficiente que nunca.Direct3D 12 is faster and more efficient than ever before. Permite crear escenas más vivaces, más objetos, efectos más complejos, así como mejorar el uso del hardware gráfico moderno.It enables richer scenes, more objects, more complex effects, and better use of modern graphics hardware.
SoftwareBitmapSourceSoftwareBitmapSource En las aplicaciones universales de Windows, puedes usar el nuevo tipo SoftwareBitmapSource como origen de imagen XAML.In Universal Windows apps, you can use the new SoftwareBitmapSource type as a XAML image source. Esto te permite pasar imágenes sin codificación al marco XAML para que se muestren inmediatamente en pantalla, omitiendo la descodificación de imágenes por el marco XAML.This lets you pass un-encoded images to the XAML framework to be immediately displayed on screen, bypassing image decoding by the XAML framework. Puedes lograr una representación de imágenes mucho más rápida, como la representación de fotos de retardo bajo directamente desde la cámara, usando descodificadores de imagen personalizados, capturando fotogramas desde superficies de DirectX, o incluso creando imágenes en memoria desde cero y representándolas todas directamente en XAML con latencia baja y baja sobrecarga de memoria.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.
Cámara perspectivaPerspective Camera En aplicaciones universales de Windows, XAML tiene una nueva API de Transform3D que permite aplicar transformaciones de perspectiva a un árbol XAML (o escena), que transforma todos los elementos secundarios XAML en función de esa transformación única de toda la escena (o cámara).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). Podrías hacer esto anteriormente con MatrixTransform y matemáticas complejas, pero Transform3D simplifica en gran medida este efecto y también permite la animación del efecto.You could do this previously using MatrixTransform and complex math, but Transform3D greatly simplifies this effect, and also enables the effect to be animated. Para obtener más información, consulta la propiedad UIElement.Transform3D, Transform3D, CompositeTransform3D y PerspectiveTransform3D.For more info, see the UIElement.Transform3D property, Transform3D, CompositeTransform3D, and PerspectiveTransform3D.

MediosMedia

CaracterísticaFeature DescripciónDescription
HTTP Live StreamingHTTP Live Streaming Puedes usar la nueva clase AdaptiveMediaSource para agregar capacidades de streaming de vídeo adaptable a las aplicaciones.You can use the new AdaptiveMediaSource class to add adaptive video streaming capabilities to your apps. Para inicializar el objeto, debes apuntarlo a un archivo de manifiesto de streaming.The object is initialized by pointing it to a streaming manifest file. Los formatos de manifiesto compatibles incluyen Http Live Streaming (HLS) y Dynamic Adaptive Streaming over HTTP (DASH).Supported manifest formats include Http Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH). Una vez el objeto está enlazado a un elemento multimedia XAML, se inicia la reproducción adaptable.Once the object is bound to a XAML media element, adaptive playback begins. Las propiedades del flujo como, por ejemplo, la velocidad de bits disponible, mínima y máxima, se pueden consultar y establecer según sea necesario.Properties of the stream, such as the available, minimum, and maximum bitrates, can be queried and set where appropriate.
Compatibilidad del procesador Transcode Video Processor (XVP) de Media Foundation con las Transformaciones de Media Foundation (MFT)Media Foundation Transcode Video Processor (XVP) support for Media Foundation Transforms (MFTs) Las aplicaciones de Windows que usan Transformaciones de Media Foundation (MFT) ahora pueden usar el procesador Transcode Video Processor (XVP) de Media Foundation para convertir, escalar y transformar datos de vídeo sin procesar: El nuevo atributo MF_XVP_CALLER_ALLOCATES_OUTPUT permite la salida a texturas asignadas por el llamador incluso en el modo Microsoft DirectX Video Acceleration (DXVA)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. La nueva interfaz IMFVideoProcessorControl2 permite a la aplicación habilitar efectos de hardware, consultar efectos de hardware admitidos y omitir la operación de rotación realizada por el procesador de vídeo.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.
TranscodificaciónTranscoding La nueva API MediaProcessingTrigger permite que la aplicación haga la transcodificación multimedia en una tarea en segundo plano, para que las operaciones de transcodificación continúen incluso cuando la aplicación en primer plano haya terminado.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.
Eventos de error de medios de MediaElementMediaElement media failure events En las aplicaciones universales de Windows, MediaElement reproducirá el contenido que abarque varios flujos, incluso si hay un error en la descodificación de uno de los flujos, siempre y cuando el contenido multimedia incluya al menos un flujo válido.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. Por ejemplo, si se produce un error en la secuencia de vídeo en un contenido con secuencia de vídeo y audio, MediaElement seguirá reproduciendo la secuencia de 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 notifica que una de las secuencias dentro de una secuencia no se puede descodificar.The PartialMediaFailureDetected notifies you that one of the streams within a stream could not be decoded. También permite saber qué tipo de secuencia dio error para poder reflejar esa información en la interfaz de usuario.It also lets you know what type of stream failed so that you can reflect that info in your UI. Si todos los flujos de un flujo multimedia dan error, se genera el evento MediaFailed.If all of the streams within a media stream fail, the MediaFailed event is raised.
Compatibilidad con la emisión de vídeo adaptativa con MediaElementSupport for adaptive video streaming with MediaElement MediaElement tiene el nuevo método SetPlaybackSource para admitir el streaming de vídeo adaptable.MediaElement has the new SetPlaybackSource method to support adaptive video streaming. Usa este método para establecer el origen multimedia en un AdaptiveMediaSource.Use this method to set your media source to an AdaptiveMediaSource.
Conversión con MediaElement e ImageCasting with MediaElement and Image Los controles MediaElement e Image tienen el nuevo método GetAsCastingSource.The MediaElement and Image controls have the new GetAsCastingSource method. Puedes usar este método para enviar contenido mediante programación desde cualquier elemento de imagen o multimedia a una gama más amplia de dispositivos remotos, como Miracast, Bluetooth y 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. Esta funcionalidad se habilita automáticamente cuando estableces AreTransportControlsEnabled en true en un MediaElement. This functionality is enabled automatically when you set AreTransportControlsEnabled to true on a MediaElement.
Controles de transporte multimedia para aplicaciones de escritorioMedia transport controls for desktop apps La interfaz de ISystemMediaTransportControls y las API relacionadas permiten que las aplicaciones de escritorio interactúen con los controles de transporte multimedia del sistema integrados.The ISystemMediaTransportControls interface and related APIs allow desktop apps to interact with the built-in system media transport controls. Esto incluye responder a las interacciones del usuario con los botones de los controles de transporte y actualizar la visualización de los controles de transporte para mostrar metadatos sobre el contenido multimedia que se está reproduciendo actualmente.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.
Codificación y descodificación de JPEG de acceso aleatorioRandom-access JPEG encoding and decoding Los nuevos métodos WIC IWICJpegFrameEncode y IWICJpegFrameDecode habilitan la codificación y descodificación de imágenes JPEG.New WIC methods IWICJpegFrameEncode and IWICJpegFrameDecode enable the encoding and decoding of JPEG images. Ahora también puedes habilitar la indización de los datos de imagen, que proporciona acceso aleatorio eficaz para imágenes grandes a costa de una superficie de memoria mayor.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.
Superposiciones para composiciones multimediaOverlays for media compositions Las nuevas API MediaOverlay y MediaOverlayLayer facilitan agregar varias capas de contenido multimedia estático o dinámico a una composición multimedia.The new MediaOverlay and MediaOverlayLayer APIs make it easy to add multiple layers of static or dynamic media content to a media composition. Se puede ajustar la opacidad, la posición y el tiempo para cada capa e incluso puede implementar su propio compositor personalizado para las capas de entrada.Opacity, position, and timing can be adjusted for each layer, and you can even implement your own custom compositor for input layers.
Nuevo marco de efectosNew effects framework El espacio de nombres Windows.Media.Effects proporciona un marco sencillo e intuitivo para agregar efectos a secuencias de audio y vídeo.The Windows.Media.Effects namespace provides a simple and intuitive framework for adding effects to audio and video streams. El marco incluye interfaces básicas que se pueden implementar para crear efectos de vídeo y audio personalizados e insertarlos en la canalización multimedia.The framework includes basic interfaces that you can implement to create custom audio and video effects and insert them into the media pipeline.

Funciones de redNetworking

CaracterísticaFeature DescripciónDescription
SocketsSockets Entre las actualizaciones de sockets se incluyen:Socket updates include:

Agente de socket: El agente de socket puede establecer y cerrar las conexiones de socket en nombre de una aplicación en cualquier estado del ciclo de vida de la aplicación.Socket broker: The socket broker can establish and close socket connections on behalf of an app in any state of the app lifecycle. Esto permite detectar más fácilmente las aplicaciones y los servicios estas que proporcionan.This makes apps and the services that they provide more discoverable. Por ejemplo, mediante el agente de socket, un servicio de Win32 puede aceptar conexiones entrantes de socket aunque no se esté ejecutando.For example, by way of the socket broker, a Win32 service can still accept incoming socket connections even when it’s not running.

Mejoras de rendimiento: El rendimiento de socket se ha optimizado para las aplicaciones que usan el espacio de nombres Windows.Networking.Sockets.Throughput improvements: Socket throughput has been optimized for apps that use the Windows.Networking.Sockets namespace.
Tareas de posprocesamiento de la transferencia en segundo planoBackground Transfer post-processing tasks Las nuevas API del espacio de nombres Windows.Networking.BackgroundTransfer permiten registrar grupos de tareas de posprocesamiento.New APIs in the Windows.Networking.BackgroundTransfer namespace let you register groups of post-processing tasks. Por lo tanto, la aplicación puede actuar inmediatamente tanto si las transferencias en segundo plano se realizan de forma correcta o incorrecta y aunque no esté en primer plano, en lugar de esperar a que el usuario reanude la aplicación la próxima vez.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.
Compatibilidad con Bluetooth para los anunciosBluetooth support for advertisements Con el espacio de nombres Windows.Devices.Bluetooth.Advertisement, las aplicaciones pueden enviar, recibir y filtrar anuncios de Bluetooth LE.With the Windows.Devices.Bluetooth.Advertisement namespace, your apps can send, receive, and filter Bluetooth LE advertisements.
Actualización de la API de Wi-Fi DirectWi-Fi Direct API update El agente del dispositivo se actualiza para permitir el emparejamiento con dispositivos sin tener que dejar la aplicación.The device broker is updated to enable pairing with devices without leaving the app. Las adiciones al espacio de nombres Windows.Devices.WiFiDirect también permiten que otros dispositivos puedan detectar un dispositivo y que este escuche las notificaciones de conexión 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.

Nota: En esta versión, las mejoras de la función Wi-Fi Direct no se integran en la experiencia del usuario y solo admiten el emparejamiento con el botón de comando.Note: In this release, the Wi-Fi Direct feature improvements are not built into the UX, and they support only push-button pairing. Asimismo, esta versión solo admite una conexión activa.Also, this release supports only one active connection.
Mejoras de compatibilidad con JSONJSON support improvements El espacio de nombres Windows.Data.Json ahora ofrece mayor compatibilidad con las definiciones estándar existentes y la experiencia del desarrollador al convertir los objetos JSON durante las sesiones de depuración.The Windows.Data.Json namespace now better supports existing standard definitions and the developer experience when converting JSON objects during debug sessions.

SeguridadSecurity

CaracterísticaFeature DescripciónDescription
Cifrado ECCECC encryption Las nuevas API del espacio de nombres Windows.Security.Cryptography ofrecen compatibilidad con la criptografía de curva elíptica (ECC), una implementación de criptografía de clave pública basada en curvas elípticas sobre campos finitos.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 es matemáticamente más complejo que RSA, proporciona tamaños más pequeños de claves, reduce el consumo de la memoria y mejora el rendimiento.ECC is mathematically more complex than RSA, provides smaller key sizes, reduces memory consumption, and improves performance. Esto ofrece una alternativa a las claves de RSA y a los parámetros de la curva aprobados por NIST para los servicios y los clientes de Microsoft.It offers Microsoft services and customers an alternative to RSA keys and NIST-approved curve parameters.
Microsoft PassportMicrosoft Passport Microsoft Passport es un método alternativo de autenticación que reemplaza las contraseñas con criptografía asimétrica y un gesto.Microsoft Passport is an alternative method of authentication that replaces passwords with asymmetric cryptography and a gesture. Las clases del espacio de nombres de credenciales, como KeyCredentialManger, facilitan a los desarrolladores la creación de aplicaciones con Microsoft Passport sin la complejidad de la criptografía o la biométrica.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 para el trabajoMicrosoft Passport for Work Microsoft Passport para el trabajo es un método alternativo para iniciar sesión en Windows con tu cuenta de Azure Active Directory que no use contraseñas, tarjetas inteligentes y tarjetas inteligentes virtuales.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. Puede optar por deshabilitar o habilitar esta configuración de directiva.You can choose whether to disable or enable this policy setting.
Agente de tokenToken Broker El Agente de token es un nuevo marco de autenticación que facilita que las aplicaciones se conecten a los proveedores de identidad en línea (como Facebook).Token Broker is a new authentication framework that makes it easier for apps to connect to online identity providers (like Facebook). Características como la administración de nombres de usuario y contraseñas de cuenta y una interfaz de usuario optimizada proporcionan una experiencia de autenticación mejorada para los usuarios.Features such as account username and password management and a streamlined UI provide a greatly improved authentication experience for users.

Servicios del sistemaSystem services

CaracterísticaFeature DescripciónDescription
PotenciaPower La aplicación de escritorio de Windows ahora puede recibir notificaciones cuando se active o desactive el ahorro de batería.Your Windows desktop application can now be notified when battery saver is engaged or disengaged. Al responder a cambios en las condiciones de energía, la aplicación tiene la oportunidad de ayudar a prolongar la duración de la batería.By responding to changing power conditions, your application has the opportunity to help extend battery life.

GUID_POWER_SAVING_STATUS: Usa este nuevo GUID con la función PowerSettingRegisterNotification para recibir notificaciones cuando el ahorro de batería se active o desactive.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: Esta estructura se ha actualizado para admitir el ahorro de batería.SYSTEM_POWER_STATUS: This structure has been updated to support battery saver. El cuarto miembro, SystemStatusFlag (denominado anteriormente Reserved1), indica si el ahorro de batería está activado o no.The fourth member, SystemStatusFlag (previously named Reserved1, now indicates if battery saver is engaged or not. Usa la función GetSystemPowerStatus para recuperar un puntero a esta estructura.Use the GetSystemPowerStatus function to retrieve a pointer to this structure.
VersionVersion Puedes usar las funciones de la aplicación auxiliar de versiones para determinar la versión del sistema operativo.You can use the Version Helper functions to determine the version of the operating system. Para Windows 10, estas funciones de la aplicación auxiliar incluyen una función nueva, IsWindows10OrGreater.For Windows 10, these helper functions include a new function, IsWindows10OrGreater. Debes usar las funciones de la aplicación auxiliar en lugar de las funciones GetVersionEx y GetVersion desusadas cuando quieras determinar la versión del sistema.You should use the helper functions rather than the deprecated GetVersionEx and GetVersion functions when you want to determine the system version. Para obtener más información acerca de cómo obtener la versión del sistema, consulta Obtener la versión del sistema.For more information about how to get the system version, see Getting the System Version.

Si usas las funciones GetVersionEx o GetVersion en desuso para obtener información sobre la versión en una estructura OSVERSIONINFOEX u OSVERSIONINFO, ten en cuenta que el número de versión que contienen estas estructuras aumenta de 6.3 para Windows 8.1 y Windows Server 2012 R2 a 10.0 para 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. Para obtener más información sobre los números de versión del sistema operativo, consulta Versión del sistema operativo.For more information about version numbers for the operating system, see Operating System Version.

También tienes que tener como destino específico Windows 8.1 o Windows 10 en la aplicación para obtener la información de la versión correcta de estas versiones con la función GetVersionEx o 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. Para obtener información acerca de cómo seleccionar tu aplicación como destino para estas versiones de Windows, consulta Tener tu aplicación como destino para Windows.For information about how to target your application for these versions of Windows, see Targeting your application for Windows.
Información de usuarioUser information Las nuevas API del espacio de nombres de Windows.System facilitan el acceso a la información sobre un usuario, como su nombre de usuario e imagen de cuenta.New APIs in the Windows.System namespace make it easy to access information about a user, like their username and account picture. También proporciona la capacidad de responder a eventos de usuario, como el inicio y el cierre de sesión.It also provides the ability to respond to user events such as log-in and log-out.
Administración de memoria y creación de perfilesMemory management and profiling La compatibilidad con la API de generación de perfiles de memoria de Windows.System se ha ampliado a todas las plataformas y su funcionalidad general se ha mejorado con nuevas clases y funciones.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.

AlmacenamientoStorage

CaracterísticaFeature DescripciónDescription
API de búsqueda de archivos para Windows PhoneFile-search APIs available for Windows Phone Como editor de aplicaciones, para registrar la aplicación con el fin de que comparta una carpeta del almacenamiento con otras aplicaciones que publiques puedes agregar extensiones al manifiesto de la aplicación.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. A continuación, llama el método Windows.Storage.ApplicationData.GetPublisherCacheFolder para obtener la ubicación del almacenamiento compartido.Then call the Windows.Storage.ApplicationData.GetPublisherCacheFolder method to get the shared storage location. El modelo de seguridad sólida de las aplicaciones de Windows Runtime evita que las aplicaciones compartan datos entre ellas.The strong security model of Windows Runtime apps typically prevents apps from sharing data among themselves. No obstante, esto puede resultar útil para que las aplicaciones del mismo editor compartan archivos y valores de configuración de forma individual para cada usuario.But it can be useful for apps from the same publisher to share files and settings on a per-user basis.

HerramientasTools

CaracterísticaFeature DescripciónDescription
Árbol visual dinámico en Visual StudioLive Visual Tree in Visual Studio Visual Studio tiene una nueva función de árbol visual dinámico.Visual Studio has a new Live Visual Tree feature. Puedes usarla durante la depuración para comprender con rapidez el estado del árbol visual de la aplicación y descubrir cómo se establecieron las propiedades del elemento.You can use it while debugging to quickly understand the state of your app’s visual tree, and discover how element properties were set. También te permite cambiar los valores de propiedad mientras se ejecuta la aplicación, para que puedas retocar y experimentar sin tener que reiniciar.It also lets you change property values while your app is running, so you can tweak and experiment without having to re-launch.
Registro de seguimientoTrace logging TraceLogging es una nueva API de seguimiento de eventos de las aplicaciones de modo usuario y los controladores de modo kernel; se basa en el Seguimiento de eventos para 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). Esta API ofrece una manera simplificada de instrumentar código e incluir datos estructurados con eventos sin necesitar un archivo XML de manifiesto de instrumentación independiente.This API provides a simplified way to instrument code and include structured data with events without requiring a separate instrumentation manifest XML file. Las API TraceLogging de WinRT, .NET y C/C++ están disponibles para los distintos tipos de desarrolladores.WinRT, .NET, and C/C++ TraceLogging APIs are available to serve different developer audiences.

Experiencia del usuarioUser Experience

CaracterísticaFeature DescripciónDescription
Reconocimiento de vozSpeech recognition El reconocimiento de voz continuo para escenarios de dictado de formato largo ahora es compatible con la Plataforma universal de Windows.Continuous speech recognition for long-form dictation scenarios is now supported by the Universal Windows Platform. Consulta cómo habilitar el dictado continuo en los Documentos de interacción de voz.See how to enable continuous dictation in the Speech interaction docs.
Capacidades de arrastrar y colocar entre distintas plataformas de aplicacionesDrag-and-drop capabilities between different application platforms Los nuevos espacios de nombres Windows.ApplicationModel.DataTransfer.DragDrop incorporan la función de arrastrar y colocar en las aplicaciones universales de Windows.The new Windows.ApplicationModel.DataTransfer.DragDrop namespaces bring drag-and-drop functionality to Universal Windows apps. Los escenarios comunes de arrastrar y colocar que anteriormente se permitían en los programas de escritorio (por ejemplo, arrastrar un documento de una carpeta a un mensaje de correo de Outlook para adjuntarlo) no son posibles con las aplicaciones universales de Windows.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. Con estas nuevas API, la aplicación puede permitir que los usuarios muevan datos fácilmente entre diferentes aplicaciones universales de Windows y el escritorio.Using these new APIs, your app can let users easily move data between different Universal Windows apps and the desktop.

Para admitir la acción de arrastrar y colocar entre aplicaciones, se han agregado las siguientes API nuevas a 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
Barras de título de ventanas personalizadasCustom window title bars Para las aplicaciones para UWP de la familia de dispositivos de escritorio, ahora puedes usar la clase ApplicationViewTitleBar con la propiedad ApplicationView.TitleBar y el método Window.SetTitleBar para reemplazar el contenido de la barra de título de Windows predeterminado por su propio contenido XAML personalizado.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. El código XAML se trata como "cromo del sistema", por lo que Windows administrará los eventos de entrada en lugar de la aplicación.Your XAML is treated as "system chrome", so Windows will handle the input events instead of your app. Esto significa que el usuario puede seguir arrastrando y cambiando el tamaño de la ventana, incluso al hacer clic en el contenido de la barra de título personalizado.This means the user can still drag and resize the window, even when clicking on your custom title bar content.

WebWeb

CaracterísticaFeature DescripciónDescription
Microsoft EdgeMicrosoft Edge Microsoft Edge es el nuevo explorador predeterminado creado para Windows 10.Microsoft Edge is the new default browser built for Windows 10. Para obtener más información y una visión general de las características de desarrollo y los estándares incluidos en Microsoft Edge, incluidas las últimas características de JavaScript, consulta la Guía para desarrolladores de 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.
Exploración de WebViewWebView browsing El control WebView usa el mismo motor de representación que el nuevo explorador Microsoft Edge.The WebView control uses the same rendering engine as the new Microsoft Edge browser. Esto ofrece el modo más preciso y conforme a los estándares de la representación HTML.This provides the most accurate, standards-compliant mode of HTML rendering.
WebView fuera de subprocesoOff-thread WebView Puedes especificar un WebView.ExecutionMode para permitir el procesamiento y la visualización de contenido web en un subproceso en segundo plano independiente.You can specify a WebView.ExecutionMode to enable processing and display of web content on a separate background thread. Esto puede mejorar el rendimiento en determinados escenarios específicos.This can improve performance in certain, specific scenarios.
Evento WebView.UnsupportedUriSchemeIdentifiedWebView.UnsupportedUriSchemeIdentified event El nuevo evento WebView.UnsupportedUriSchemeIdentified te permite decidir la manera en que tu aplicación debería tratar un esquema URI no admitido.The new WebView.UnsupportedUriSchemeIdentified event lets you decide how your app should an unsupported URI scheme. Puedes controlar este evento para que la aplicación ofrezca la administración personalizada de los esquemas URI no admitidos.You can handle this event to let your app provide custom handling of unsupported URI schemes. Para el control WebView HTML, consulta el evento MSWebViewUnsupportedUriSchemeIdentified.For the HTML WebView control, see the MSWebViewUnsupportedUriSchemeIdentified event.
Evento WebView.NewWindowRequestedWebView.NewWindowRequested event El nuevo evento WebView.NewWindowRequested te permite responder cuando un script de un control WebView solicita una nueva ventana del explorador.The new WebView.NewWindowRequested event lets you respond when a script in a WebView requests a new browser window. Para el control WebView HTML, consulta el evento MSWebViewNewWindowRequested.For the HTML WebView control, see the MSWebViewNewWindowRequested event.
Evento WebView.PermissionRequestedWebView.PermissionRequested event El nuevo evento WebView.PermissionRequested permite al contenido de WebView aprovechar las nuevas API de HTML5 enriquecidas que requieren permiso especial del usuario, como la geolocalización.The new WebView.PermissionRequested event lets WebView content leverage rich new HTML5 APIs that require special permission from the user, like geolocation. Para el control WebView HTML, consulta el evento MSWebViewPermissionRequested.For the HTML WebView control, see the MSWebViewPermissionRequested event.
Evento WebView.UnviewableContentIdentifiedWebView.UnviewableContentIdentified event El nuevo evento WebView.UnviewableContentIdentified te permite responder cuando se navega el WebView a contenido que no es de web, como un archivo PDF o documento de 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. Para los controles WebView HTML, consulta el evento MSWebViewUnviewableContentIdentified.For the HTML WebView controls, see the MSWebViewUnviewableContentIdentified event.
Método WebView.AddWebAllowedObjectWebView.AddWebAllowedObject method Puedes llamar al nuevo método WebView.AddWebAllowedObject para insertar un objeto de WinRT en un WebView XAML y luego llamar a sus funciones del JavaScript de confianza hospedado en ese 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. Por ejemplo, el contenido web puede mostrar notificaciones del sistema al solicitar que su aplicación principal llame a la API de WinRT de ToastNotificationManager.For example, web content can show system notifications by requesting that its parent app call the ToastNotificationManager WinRT API. Para el control WebView HTML, consulta el método addWebAllowedObject.For the HTML WebView control, see the addWebAllowedObject method.
Método WebView.ClearTemporaryWebDataAsyncWebView.ClearTemporaryWebDataAsync method Cuando un usuario interactúa con el contenido web dentro de un control WebView XAML, el control WebView almacena en caché datos en función de la sesión de ese usuario.When a user interacts with web content inside a XAML WebView, the WebView control caches data based on that user's session. Puedes llamar al nuevo método ClearTemporaryWebDataAsync para borrar esta caché.You can call the new ClearTemporaryWebDataAsync method to clear this cache. Por ejemplo, puedes borrar la memoria caché cuando un usuario cierre sesión en la aplicación para que otro usuario no pueda obtener acceso a los datos desde la sesión anterior.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.