Microsoft lanza Windows UI Library 3 Preview 4

Icono de tiempo de lectura 9 minuto. leer


Los lectores ayudan a respaldar a MSpoweruser. Es posible que obtengamos una comisión si compra a través de nuestros enlaces. Icono de información sobre herramientas

Lea nuestra página de divulgación para descubrir cómo puede ayudar a MSPoweruser a sostener el equipo editorial. Leer más

Winui 3

WinUI es una capa de interfaz de usuario que contiene controles y estilos modernos para crear aplicaciones de Windows, tanto de escritorio como para UWP. Como la capa de interfaz de usuario nativa en Windows, incorpora Fluent Design, lo que brinda a cada aplicación de Windows la sensación pulida que los usuarios esperan.

[lwptoc title=”WinUI Library 3 Vista previa 4″ ancho=”40%” float=”right”]

WinUI 3 es la última versión del marco WinUI, que se enviará a finales de este año. Expande dramáticamente WinUI en un marco completo de UX, lo que hace que WinUI esté disponible para todo tipo de aplicaciones de Windows, desde Win32 hasta UWP, para usar como capa de UI. Cuando esté listo, cada aplicación de Windows podrá aprovechar sus controles modernos que funcionan independientemente de la versión de Windows en la que se estén ejecutando.

Lanzado hoy, Vista previa de WinUI 3 4 es una versión preliminar de estabilidad que incluye correcciones de errores críticos y otras mejoras generales para el marco.

Capacidades introducidas en la versión preliminar 4

  • Paridad con WinUI 2.5 (incluye control de barra de información, nuevas funciones en ProgressRing y NavigationView y corrección de errores)
  • Capacidades de barra de título personalizada: nuevas API Window.ExtendsContentIntoTitleBar y Window.SetTitleBar que permiten a los desarrolladores crear barras de título personalizadas en aplicaciones de escritorio.
  • Soporte de VirtualSurfaceImageSource

Nuevas características y capacidades introducidas en anteriores versiones preliminares de WinUI 3

Las siguientes características y capacidades se introdujeron en WinUI 3 Preview 1-3 y continúan admitiéndose en WinUI 3 Preview 4.

  • Capacidad para crear aplicaciones de escritorio con WinUI, incluidas .NET 5 para aplicaciones Win32
  • Cepillo De Gradiente Radial
  • Actualizaciones de TabView
  • Actualizaciones de tema oscuro
  • Mejoras y actualizaciones de webview2
    • Soporte para alto DPI
    • Soporte para redimensionar y mover ventanas
    • Actualizado para apuntar a la versión más reciente de Edge
    • Ya no es necesario hacer referencia a un paquete Nuget específico de WebView2
  • Panel de cadena de intercambio
  • Soporte básico de MRT
    • Esto hace que las aplicaciones sean más rápidas y livianas al iniciarse y proporciona una búsqueda de recursos más rápida.
  • Soporte ARM64
  • Arrastra y suelta dentro y fuera de las aplicaciones
  • RenderTargetBitmap (actualmente solo contenido XAML, sin contenido SwapChainPanel)
  • Soporte de cursor personalizado
  • Entrada fuera de hilo
  • Mejoras en nuestra experiencia de herramientas / desarrollador:
    • Live Visual Tree, Hot Reload, Live Property Explorer y herramientas similares
    • Intellisense para WinUI 3
  • Mejoras necesarias para la migración de código abierto

Para obtener más información sobre los beneficios de WinUI 3 y la hoja de ruta de WinUI, consulte el Hoja de ruta de la biblioteca de interfaz de usuario de Windows en GitHub.

Lista de errores corregidos en la versión preliminar 4

A continuación se muestra una lista de errores que enfrentan los usuarios que el equipo ha solucionado desde la versión preliminar 3. También se ha trabajado mucho en torno a la estabilización y la mejora de nuestras pruebas.

  • Esta versión ha adquirido una nueva versión de CS/WinRT y Windows SDK, que solucionó los siguientes errores:
    • Bloqueo al enlazar a una propiedad URI usando {Binding}
    • Las funciones Marshal de C#/WinRT no interoperan correctamente con .NET 5
  • WinUI 3 falla cuando se ejecuta en Windows Insider Builds
    • ¡Gracias a varios colaboradores de la comunidad por informar este error en GitHub!
  • WebView2 no aplica el idioma o la configuración regional de la aplicación host a CoreWebView2Environment
  • El control DataGrid de Windows Community Toolkit bloquea la aplicación al inicio/cuando aparecen las barras de desplazamiento
    • ¡Gracias a varios colaboradores de la comunidad por informar este error en GitHub!
  • La representación de la página se deteriora cuando cambia el modo de visualización
  • Bloqueo al usar Language ComboBox en CalendarView
  • WinUI 3 Desktop: no se puede tabular fuera de WebView2
  • WinUI 3 Desktop: TreeView con TreeViewNodes derivados se bloquea
  • Escritorio WinUI 3: no se puede ingresar texto en TextBox dentro de ContentDialog
  • Escritorio WinUI 3: ALT y F6 no funcionan
  • El antiguo SwapChainPanel eliminado se renderiza sobre el nuevo SwapChain
  • Escritorio WinUI 3: no se puede desplazar con el trackpad
  • Bloqueo al usar el control NavigationView con varias ventanas en el mismo hilo
  • Problema de accesibilidad: muestra el enfoque recto al iniciar la aplicación de escritorio WinUI
  • Infracción de acceso al desplazarse en DataGrid
  • WinUI 3 Desktop: el ciclo de pestañas no funciona
  • Arrastrar y soltar en GridView falla en la aplicación de escritorio con WinUI Xaml Islands
  • Problema de accesibilidad: no se puede desplazar con las teclas PageUp/PageDown en WinUI 3 Desktop
  • WebView2 tiene un tamaño de ventana de visualización incorrecto
  • Bloqueo de WebView2 al hacer clic después de abrir MenuFlyout
  • Escritorio de WinUI 3: Intentar desactivar el control flotante de DropDownButton o SplitButton provoca un bloqueo de la aplicación
  • WebView2: el doble clic con el botón derecho del mouse provoca un bloqueo
  • Al hacer clic en un ToggleSplitButton, la aplicación se bloquea
  • Escritorio WinUI 3: ventana DesktopWindowXamlSource vacía visible en la barra de tareas
  • Escritorio WinUI 3: DataGrid no se muestra
  • Escritorio WinUI 3: no se pueden colocar archivos en Grid
  • WinUI 3 Desktop: ItemsRepeater falla en WinUI 3 Preview 2
  • AccessViolationException lanzada al actualizar enlaces
  • WinUI 3 Desktop: la aplicación falla al desplazarse NavigationView
  • ItemsControl no se actualiza mientras se agregan o eliminan dinámicamente elementos en su colección ItemsSource.
  • Error de compilación C2760 en App.xaml.gh si el modo de conformidad con C++ está habilitado

Limitaciones y problemas conocidos

El lanzamiento de Preview 4 es simplemente una vista previa con errores, limitaciones y otros problemas con los escenarios en torno a las aplicaciones de escritorio que son especialmente nuevos.

Los siguientes elementos son algunos de los problemas conocidos con WinUI 3 Preview 4.

Herramientas de desarrollo

  • Solo se admiten aplicaciones C# y C++/WinRT
  • Las aplicaciones de escritorio son compatibles con .NET 5 y C# 9, y deben empaquetarse en una aplicación MSIX
  • Las aplicaciones para UWP son compatibles con .NET Native y C# 7.3
  • Es posible que las herramientas de desarrollo e Intellisense no funcionen correctamente en la versión 16.8 de Visual Studio.
  • Sin compatibilidad con el diseñador XAML
  • Las nuevas aplicaciones C++/CX no son compatibles; sin embargo, sus aplicaciones existentes seguirán funcionando (cambie a C++/WinRT lo antes posible)
  • La compatibilidad con varias ventanas en las aplicaciones de escritorio está en curso, pero aún no está completa ni estable.
    • Informe un error en nuestro repositorio si encuentra nuevos problemas o regresiones con el comportamiento de múltiples ventanas.
  • No se admite la implementación de escritorio sin empaquetar
  • Cuando ejecute una aplicación de escritorio con F5, asegúrese de ejecutar el proyecto de empaquetado. Al presionar F5 en el proyecto de la aplicación, se ejecutará una aplicación sin empaquetar, que WinUI 3 aún no admite.

Características de la plataforma que faltan

  • Soporte técnico de Xbox
  • Compatibilidad con HoloLens
  • Ventanas emergentes
    • Más específicamente, la ShouldConstrainToRootBounds La propiedad siempre actúa como si estuviera establecida en true, independientemente del valor de la propiedad.
  • Soporte de entintado
  • Acrílico
  • MediaElement y MediaPlayerElement
  • Control de mapas
  • RenderTargetBitmap para SwapChainPanel y contenido no XAML
  • SwapChainPanel no admite transparencia
  • Global Reveal utiliza un comportamiento alternativo, un pincel sólido
  • Islas XAML no es compatible con esta versión
  • Las bibliotecas de ecosistemas de terceros no funcionarán completamente
  • Los IME no funcionan

Problemas conocidos

  • Alt+F4 no cierra las ventanas de la aplicación de escritorio.
  • Debido a los cambios con ventana principal, es posible que las siguientes API de WinRT ya no funcionen con Ordenador de sobremesa aplicaciones como se esperaba:

    Para obtener más información sobre el uso de las API de WinRT en su aplicación de escritorio WinUI 3, consulte API de Windows Runtime disponibles para aplicaciones de escritorio.

  • Evento Windows.UI.ViewManagement.UISettings.ColorValuesChanged ya no es compatible con las aplicaciones de escritorio. Esto puede causar problemas si lo está utilizando para detectar cambios en los temas de Windows.
  • Esta versión incluye algunas API experimentales. Estos no han sido probados exhaustivamente por el equipo y pueden tener problemas desconocidos. Por favor presentar un error en nuestro repositorio si encuentra algún problema.
  • Anteriormente, para obtener una instancia de CompositionCapabilities llamarías ComposiciónCapabilites.GetForCurrentView(). Sin embargo, las capacidades devueltas de esta llamada fueron no dependiendo de la vista. Para abordar y reflejar esto, eliminamos la estática GetForCurrentView() en esta versión, por lo que ahora puede crear una ComposiciónCapacidades objeto directamente.
  • Para aplicaciones C# UWP: el marco WinUI 3 es un conjunto de componentes WinRT que se pueden usar desde C++ (usando C++/WinRT) o C#. Cuando se usa C#, hay dos versiones de .NET, según el modelo de la aplicación: cuando se usa WinUI 3 en una aplicación para UWP, se usa .NET Native; cuando se usa en una aplicación de escritorio, se usa .NET 5 (y C#/WinRT). Cuando se usa C# para una aplicación WinUI 3 en UWP, existen algunas diferencias en el espacio de nombres de la API en comparación con C# en una aplicación de escritorio WinUI 3 o C#. Aplicación WinUI 2: algunos tipos están en un Microsoft espacio de nombres en lugar de un System espacio de nombres Por ejemplo, en lugar de la INotifyPropertyChanged la interfaz está en el System.ComponentModel espacio de nombres, está en el Microsoft.UI.Xaml.Data espacio de nombres. Esto se aplica a:
    • INotifyPropertyChanged (y tipos relacionados)
    • INotifyCollectionChanged
    • ICommand

    El  System todavía existen versiones de espacios de nombres, pero no se pueden usar con WinUI 3. Esto significa que ObservableCollection no funciona tal como está en las aplicaciones WinUI 3 C# UWP. Para obtener una solución alternativa, consulte la ColeccionesMuestra de interoperabilidad existentes Muestra de la galería de controles XAML.

¿Qué viene después?

Los desarrolladores pueden echar un vistazo a los detalles de Microsoft hoja de ruta de características para ver cuándo se incorporarán características específicas a WinUI 3.

Instalar WinUI 3 Vista previa 4

WinUI 3 Preview 4 incluye plantillas de proyecto de Visual Studio para ayudarlo a comenzar a crear aplicaciones con una interfaz de usuario basada en WinUI y un paquete NuGet que contiene las bibliotecas de WinUI. Para instalar WinUI 3 Preview 4, siga estos pasos.

Kit de herramientas de la comunidad de Windows

Si está utilizando el Kit de herramientas de la comunidad de Windows, descarga la última versión.

Aparte de la limitaciones y problemas conocidos, compilar una aplicación con los proyectos de WinUI es similar a compilar una aplicación para UWP con XAML y WinUI 2.x. Por lo tanto, la mayoría de los documentación de orientación para aplicaciones UWP y el Windows.UI Los espacios de nombres de WinRT en el SDK de Windows son aplicables.

Para obtener más información sobre cómo comenzar con las plantillas de proyecto de WinUI, consulte los siguientes artículos:

Próximamente habrá una documentación de referencia de la API para esta versión, pero mientras tanto, los desarrolladores pueden consultar la Documentación de referencia de la API de WinUI 3 para la versión preliminar 3.

Si creó un proyecto usando WinUI 3 Preview 3, puede actualizar su proyecto para usar Preview 4. Consulte la Repositorio WinUI GitHub para obtener instrucciones detalladas.

Para aprovechar las funciones de herramientas más recientes agregadas a WinUI 3 Preview 4, como Hot Reload, Live Visual Tree y Live Property Explorer, debe usar la versión preliminar más reciente de Visual Studio con la última versión preliminar de WinUI 3 y asegúrese de habilitar Herramientas de WinUI en Visual Studio Preview Features, como se describe en el instrucciones aquí.

Consulte las Rama WinUI 3 Preview 4 de la Galería de controles XAML para una aplicación de muestra que incluye todos los controles y características de WinUI 3 Preview 4.


Ejemplo de la aplicación WinUI 3 Preview 4 XAML Controls Gallery

Esta versión preliminar de WinUI 3 está diseñada para una evaluación temprana y para recopilar comentarios de la comunidad de desarrolladores. Debería NO utilizarse para aplicaciones de producción. Microsoft continuará enviando versiones preliminares de WinUI 3 hasta 2021, seguidas de la primera versión oficial compatible en marzo de 2021.

Utilice el Repositorio WinUI GitHub para proporcionar comentarios y registrar sugerencias y problemas.

Más sobre los temas: desarrolladores, microsoft, vista previa de winui 3 4