Notas de la versión del canal de versión preliminar para el SDK de Aplicaciones para Windows 1.4
Importante
El canal de versión preliminar no es compatible para el uso en entornos de producción, y las aplicaciones que utilizan las versiones preliminares no se pueden publicar en Microsoft Store.
El canal de versión preliminar incluye versiones del SDK de Aplicaciones para Windows con características del canal de versión preliminar en fases tardías de desarrollo. Las versiones preliminares no incluyen características experimentales y API, pero pueden estar sujetas a cambios importantes antes de la próxima versión estable.
Vínculos importantes:
- Si quiere actualizar una aplicación existente de una versión anterior del SDK de aplicaciones de Windows a una versión más reciente, consulte Actualización de proyectos existentes a la versión más reciente del SDK de aplicaciones de Windows.
- Para obtener documentación sobre la publicación de versiones preliminares, consulte Instalación de herramientas para canales experimentales y de versión preliminar del SDK de Aplicaciones para Windows.
Versión del canal de versión preliminar más reciente:
Versión del canal estable más reciente:
Versión 1.4, Preview 2 (1.4.0-preview2)
Esta es la versión más reciente del canal de versión preliminar para la versión 1.4.
En una aplicación existente del SDK de Aplicaciones para Windows 1.3 (del canal estable), puede actualizar el paquete NuGet a la versión 1.4.0-preview2 (consulte la sección Actualización de un paquete en Instalación y administración de paquetes en Visual Studio mediante el Administrador de paquetes NuGet).
Para obtener actualizaciones del entorno de ejecución y MSIX, consulte Descargas del SDK de aplicaciones de Windows más reciente.
Islas XAML ya no es experimental.
Las islas XAML y la plataforma ContentIslands subyacente ya no son experimentales.
- Actualmente, las islas XAML solo se prueban para su uso en aplicaciones de C++. Esta versión no incluye ningún elemento contenedor conveniente para su uso en WPF o WinForms.
DesktopWindowXamlSource
y los tipos relacionados se han agregado en el espacio de nombres Microsoft.UI.Xaml.Hosting para islas XAML.XamlRoot.ContentIslandEnvironment
se agregó para ayudar a acceder a la información subyacente de la isla para un elemento.- Se han introducido muchos tipos nuevos en el espacio de nombres Microsoft.UI.Content y en el espacio de nombres Microsoft.UI.Input como compatibilidad subyacente para islas XAML o para utilizar esta funcionalidad ContentIslands sin XAML.
- Se ha agregado un nuevo
DragDropManager
(más tipos relacionados) en el espacio de nombres Microsoft.UI.Input.DragDrop para escenarios de isla.
Actualizaciones de ItemsView
La nueva clase ItemsView
, que se introdujo en la versión 1.4-preview1, se ha actualizado sustancialmente con las nuevas propiedades y una nueva clase auxiliar.
- El nuevo control
ItemsView
muestra una colección de datos.ItemsView
es similar a los controlesListView
yGridView
, pero se compila utilizando los componentesItemsRepeater
,ScrollView
,ItemContainer
yItemCollectionTransitionProvider
. Ofrece la capacidad única de conectar implementacionesLayout
oItemCollectionTransitionProvider
personalizadas. Otra ventaja clave es la capacidad de cambiar el diseño sobre la marcha mientras se conserva la selección de elementos. El control internoScrollView
también ofrece características no disponibles en el controlScrollViewer
deListView
/GridView
, como la capacidad de controlar la animación durante los desplazamientos mediante programación.- Una nueva propiedad
ItemTransitionProvider
enItemsRepeater
(y el nuevo controlItemsView
) permite especificar un objetoItemCollectionTransitionProvider
para controlar las animaciones de transición en ese control. También se ha agregado un métodoCreateDefaultItemTransitionProvider
aLayout
, que permite que un objeto de diseño proporcione una transición de reserva que lo acompañe si no se proporciona una explícitamente en el controlItemsView
. - Una nueva propiedad
IndexBasedLayoutOrientation
sobreLayout
en la que la orientación del diseño, si existe, de los elementos se basa en su índice en la colección de origen. El valor predeterminado esIndexBasedLayoutOrientation.None
. Los diseños personalizados establecen esta propiedad llamando al nuevo métodoSetIndexBasedLayoutOrientation
(protegido). - Una nueva
VisibleRect
propiedad enVirtualizingLayoutContext
obtiene el rectángulo de ventanilla visible dentro delFrameworkElement
asociado aLayout
. El método virtualVirtualizingLayoutContext.VisibleRectCore
protegido se puede invalidar para proporcionar el valor que se devolverá de la propiedadVisibleRect
.
- Una nueva propiedad
- La nueva clase
LinedFlowLayout
se usa normalmente para diseñar los elementos del control de colecciónItemsView
. Es especialmente útil para mostrar la colección de imágenes. Para ello, los coloca de izquierda a derecha y arriba abajo, en líneas de igual altura. Las imágenes llenan una línea horizontal y pasan a la siguiente. Las imágenes pueden recortarse por los bordes izquierdo y derecho para que quepan en una línea. También pueden expandirse horizontalmente y recortarse en los bordes superior e inferior para rellenar una línea cuando se emplea el modo de extensión.
Nuevas características y actualizaciones de WinAppSDK
Popup/FlyoutBase.IsConstrainedToRootBounds = false
ahora se admite, lo que permite que un elemento emergente o control flotante se extienda fuera de los límites de la ventana primaria. Se ha agregado una propiedadSystemBackdrop
a estos tipos para poder tener acrílicos en estas ventanas emergentes sin restricciones. Los menús usan esto de forma predeterminada para tener acrílico.Closed
,FrameworkClosed
, yIsClosed
se han agregado aDesktopAcrylicController
yMicaController
para mejorar el control durante el apagado de objetos o subprocesos.DesktopAcrylicController.Kind
ahora se puede establecer para elegir entre algunas apariencias acrílicas estándar.DispatcherQueue
tiene algunos nuevos eventos y asistentes para facilitar un cierre mejor organizado y para que las aplicaciones que utilizan Islas puedan ejecutar fácilmente un bucle de eventos estándar compatible.InputNonClientPointerSource
en el espacio de nombres Microsoft.UI.Input se puede utilizar para escenarios personalizados de barra de título para definir regiones de área que no sean cliente. El código puede registrarse para los eventos correspondientes, como los eventos "mantener el puntero y hacer clic" en eventos en estas regiones.AppWindow
tiene algunos nuevos asistentes para conseguir y asociar con unDispatcherQueue
.- El nuevo evento
TreeView.SelectionChanged
permite a los desarrolladores responder cuando el usuario o el código subyacente cambian el conjunto de nodos seleccionados en el controlTreeView
. - El nuevo
ScrollView
control proporciona una nueva alternativa aScrollViewer
. Este nuevo control está muy alineado en cuanto al funcionamiento y la API con el control existenteScrollViewer
, pero se basa enInteractionTracker
, tiene nuevas características, como cambios de vista controladas por animaciones, y también está diseñado para garantizar la funcionalidad completa deItemsRepeater
. Vea Un ScrollViewer más flexible; incidencia n.º 108 microsoft/microsoft-ui-xaml (github.com) para obtener más detalles. Varios tipos nuevos, incluidosScrollPresenter
, forman parte del modelo generalScrollView
. - El nuevo control
AnnotatedScrollBar
amplía la funcionalidad de una barra de desplazamiento normal proporcionando una manera fácil de navegar por una gran colección de elementos. Esto se logra a través de un raíl en el que se puede hacer clic con etiquetas que actúan como marcadores. También permite una comprensión más detallada del contenido desplazable mostrando información sobre herramientas al mantener el puntero sobre el raíl en el que se puede hacer clic.
Nuevas API en 1.4.0-preview2
La versión 1.4-preview2 incluye las siguientes API nuevas en comparación con la versión 1.4-preview1 anterior:
Microsoft.UI
ClosableNotifierHandler
IClosableNotifier
Microsoft.UI.Composition.SystemBackdrops
DesktopAcrylicController
Closed
FrameworkClosed
IsClosed
Kind
DesktopAcrylicKind
MicaController
Closed
FrameworkClosed
IsClosed
Microsoft.UI.Content
ContentCoordinateConverter
ContentCoordinateRoundingMode
ContentDeferral
ContentEnvironmentSettingChangedEventArgs
ContentEnvironmentStateChangedEventArgs
ContentIsland
ContentIslandAutomationProviderRequestedEventArgs
ContentIslandEnvironment
ContentIslandStateChangedEventArgs
ContentLayoutDirection
ContentSite
ContentSiteEnvironment
ContentSiteEnvironmentView
ContentSiteRequestedStateChangedEventArgs
ContentSiteView
ContentSizePolicy
DesktopChildSiteBridge
DesktopSiteBridge
IContentSiteBridge
Microsoft.UI.Dispatching
DispatcherExitDeferral
DispatcherQueue
EnqueueEventLoopExit
EnsureSystemDispatcherQueue
FrameworkShutdownCompleted
FrameworkShutdownStarting
RunEventLoop
RunEventLoop
DispatcherQueueController
ShutdownQueue
DispatcherRunOptions
Microsoft.UI.Input
CharacterReceivedEventArgs
ContextMenuKeyEventArgs
FocusChangedEventArgs
InputActivationListener
GetForIsland
InputFocusChangedEventArgs
InputFocusController
InputKeyboardSource
CharacterReceived
ContextMenuKey
GetCurrentKeyState
GetForIsland
GetKeyState
KeyDown
KeyUp
SystemKeyDown
SystemKeyUp
InputNonClientPointerSource
InputPointerSource
GetForIsland
InputPreTranslateKeyboardSource
KeyEventArgs
NonClientCaptionTappedEventArgs
NonClientPointerEventArgs
NonClientRegionKind
NonClientRegionsChangedEventArgs
PhysicalKeyStatus
VirtualKeyStates
Microsoft.UI.Input.DragDrop
DragDropManager
DragDropModifiers
DragInfo
DragOperation
DragUIContentMode
DragUIOverride
DropOperationTargetRequestedEventArgs
IDropOperationTarget
Microsoft.UI.Windowing
AppWindow
AssociateWithDispatcherQueue
Create
DispatcherQueue
Microsoft.UI.Xaml
XamlRoot
ContentIslandEnvironment
Microsoft.UI.Xaml.Automation.Peers
ItemsViewAutomationPeer
Microsoft.UI.Xaml.Controls
AnnotatedScrollBar
AnnotatedScrollBarDetailLabelRequestedEventArgs
AnnotatedScrollBarLabel
AnnotatedScrollBarScrollingEventArgs
AnnotatedScrollBarScrollingEventKind
IndexBasedLayoutOrientation
ItemCollectionTransition
ItemCollectionTransitionCompletedEventArgs
ItemCollectionTransitionOperation
ItemCollectionTransitionProgress
ItemCollectionTransitionProvider
ItemCollectionTransitionTriggers
ItemsRepeater
ItemTransitionProvider
ItemTransitionProviderProperty
ItemsView
ItemsViewItemInvokedEventArgs
ItemsViewSelectionChangedEventArgs
ItemsViewSelectionMode
Layout
CreateDefaultItemTransitionProvider
IndexBasedLayoutOrientation
SetIndexBasedLayoutOrientation
LinedFlowLayout
LinedFlowLayoutItemCollectionTransitionProvider
LinedFlowLayoutItemsInfoRequestedEventArgs
LinedFlowLayoutItemsJustification
LinedFlowLayoutItemsStretch
ScrollingAnchorRequestedEventArgs
ScrollingAnimationMode
ScrollingBringingIntoViewEventArgs
ScrollingChainMode
ScrollingContentOrientation
ScrollingInputKinds
ScrollingInteractionState
ScrollingRailMode
ScrollingScrollAnimationStartingEventArgs
ScrollingScrollBarVisibility
ScrollingScrollCompletedEventArgs
ScrollingScrollMode
ScrollingScrollOptions
ScrollingSnapPointsMode
ScrollingZoomAnimationStartingEventArgs
ScrollingZoomCompletedEventArgs
ScrollingZoomMode
ScrollingZoomOptions
ScrollView
TreeView
SelectionChanged
TreeViewSelectionChangedEventArgs
VirtualizingLayoutContext
VisibleRect
VisibleRectCore
Microsoft.UI.Xaml.Controls.Primitives
FlyoutBase
SystemBackdrop
SystemBackdropProperty
IScrollController
IScrollControllerPanningInfo
Popup
SystemBackdrop
SystemBackdropProperty
RepeatedScrollSnapPoint
RepeatedZoomSnapPoint
ScrollControllerAddScrollVelocityRequestedEventArgs
ScrollControllerPanRequestedEventArgs
ScrollControllerScrollByRequestedEventArgs
ScrollControllerScrollToRequestedEventArgs
ScrollPresenter
ScrollSnapPoint
ScrollSnapPointBase
ScrollSnapPointsAlignment
SnapPointBase
ZoomSnapPoint
ZoomSnapPointBase
Microsoft.UI.Xaml.Hosting
DesktopWindowXamlSource
DesktopWindowXamlSourceGotFocusEventArgs
DesktopWindowXamlSourceTakeFocusRequestedEventArgs
WindowsXamlManager
XamlSourceFocusNavigationReason
XamlSourceFocusNavigationRequest
XamlSourceFocusNavigationResult
Versión 1.4, Preview 1 (1.4.0-preview1)
Esta es la versión más reciente del canal de versión preliminar para la versión 1.4.
En una aplicación existente del SDK de Aplicaciones para Windows 1.3 (del canal estable), puede actualizar el paquete NuGet a la versión 1.4.0-preview1 (consulte la sección Actualización de un paquete en Instalación y administración de paquetes en Visual Studio mediante el Administrador de paquetes NuGet).
Para obtener actualizaciones del entorno de ejecución y MSIX, consulte Descargas del SDK de aplicaciones de Windows más reciente.
Actualizaciones de widgets
Se han añadido tres nuevas interfaces para que las implementen los proveedores de widgets: IWidgetProvider2
, IWidgetProviderAnalytics
y IWidgetProviderErrors
. IWidgetProvider2
permite a los proveedores responder a la acción Personalizar invocada por el usuario, que es idéntica a la disponible para los widgets de 1ª parte. Los proveedores usan las IWidgetProviderAnalytics
interfaces y IWidgetProviderErrors
para recopilar datos de telemetría para sus widgets; los análisis y los eventos de error sobre los widgets se comunican a los respectivos proveedores de widgets. Las clases WidgetCustomizationRequestedArgs
, WidgetAnalyticsInfoReportedArgs
y WidgetErrorInfoReportedArgs
se utilizan para comunicar información pertinente para admitir nuevas funcionalidades.
Nuevas características de WinAppSDK
- Una nueva clase
ThemeSettings
que permite a las aplicaciones Win32 WinRT detectar cuándo ha cambiado la configuración de alto contraste del sistema, similar a la clase AccessibilitySettings de UWP. Consulte la especificación de la API ThemeSettings en GitHub para obtener más información. Popup/FlyoutBase.ShouldConstrainToRootBounds
ahora se admite para permitir que la información sobre herramientas, los menús y otros elementos emergentes se extiendan fuera de los límites de la ventana principal. La versión preliminar 1 aún no admite completamente tener acrílico u otros SystemBackdrops en un menú emergente o control flotante; en la próxima versión 1.4 se incluirán API e implementaciones adicionales para esto.AccessKeyManager.EnterDisplayMode
es un nuevo método para mostrar claves de acceso para el elemento enfocado actual de una raíz proporcionada. Las teclas de acceso están en "modo de visualización" al mostrar una sugerencia de teclas para invocar un comando, como presionar la tecla Alt en Paint para mostrar qué teclas corresponden a qué controles. Este método permite entrar mediante programación en el modo de visualización.Application.ResourceManagerRequested
proporciona un mecanismo para proporcionar un valor diferenteIResourceManager
para resolver los URI de recursos en escenarios en los que el valor predeterminadoResourceManager
no funcionará. Para obtener más información, consulte la especificación de la API Application.ResourceManagerRequested en GitHub.- Vamos a introducir un nuevo control de lista denominado y
ItemsView
una clase concretaItemContainer
correspondiente.ItemContainer
es un contenedor ligero con estados de selección y objetos visuales integrados, que pueden ajustar fácilmente el contenido deseado y usarse conItemsView
para un escenario de control de colección.ItemsView
todavía está marcado como experimental en la versión preliminar 1, pero se incluirá en la próxima versión 1.4. - La versión del SDK de WebView2 se actualizó de 1661.34 a 1823.32.
Nuevas API en 1.4.0-preview1
La versión 1.4-preview1 incluye las siguientes API nuevas en comparación con la versión estable 1.3:
Microsoft.UI.System
ThemeSettings
Microsoft.UI.Xaml
Application
ResourceManagerRequested
ResourceManagerRequestedEventArgs
Microsoft.UI.Xaml.Automation.Peers
ItemContainerAutomationPeer
Microsoft.UI.Xaml.Controls
ItemContainer
Microsoft.UI.Xaml.Controls.Primitives
CommandBarFlyoutCommandBar
SystemBackdrop
SystemBackdropProperty
Microsoft.UI.Xaml.Input
AccessKeyManager
EnterDisplayMode
Microsoft.Web.WebView2.Core
CoreWebView2
LaunchingExternalUriScheme
MemoryUsageTargetLevel
CoreWebView2File
CoreWebView2LaunchingExternalUriSchemeEventArgs
CoreWebView2MemoryUsageTargetLevel
CoreWebView2PermissionKind
WindowManagement
CoreWebView2Profile
CookieManager
IsGeneralAutofillEnabled
IsPasswordAutosaveEnabled
CoreWebView2Settings
IsReputationCheckingRequired
CoreWebView2WebMessageReceivedEventArgs
AdditionalObjects
Microsoft.Windows.Widgets.Providers
IWidgetProvider2
IWidgetProviderAnalytics
IWidgetProviderErrors
WidgetAnalyticsInfoReportedArgs
WidgetCustomizationRequestedArgs
WidgetErrorInfoReportedArgs
Temas relacionados
- Notas de la versión del canal estable más reciente para el SDK de Aplicaciones para Windows
- Notas de la versión del canal experimental más reciente para el SDK de Aplicaciones para Windows
- Instalación de herramientas para el SDK de Aplicaciones para Windows
- Creación del primer proyecto de WinUI 3 (SDK de Aplicaciones para Windows)
- Uso del SDK de Aplicaciones para Windows en un proyecto existente
- Descripción general de la implementación