Compartir a través de


Notas de la versión de Windows App SDK 2.0

Puede elegir entre los canales estable, versión preliminar y experimental en función de sus necesidades de desarrollo, desde compilaciones de producción confiables hasta el acceso anticipado a las próximas características. Obtenga más información sobre los canales de lanzamiento.

Para obtener actualizaciones del entorno de ejecución y MSIX, consulte Descargas del SDK de aplicaciones de Windows.

Todavía no hay versiones estables.

Todavía no hay versiones preliminares.

Versión 2.0 Experimental 3 (2.0.0-Experimental3)

Fecha de publicación: 17 de noviembre de 2025

Nuevo control SplitMenuFlyoutItem

El nuevo control experimental SplitMenuFlyoutItem está diseñado para proporcionar una experiencia de botón dividido dentro de un menú desplegable. Este control permitirá a los desarrolladores exponer una acción principal predeterminada, al tiempo que ofrece opciones adicionales a través de un submenú, ideal para condensar la funcionalidad compleja en una superficie más pequeña y ahorrar la longitud general del menú.

Junto con las funcionalidades de MenuFlyoutItem y MenuFlyoutSubItem, el control incluye otras dos propiedades: SubMenuPresenterStyle y SubMenuItemStyle, que permite la personalización del submenú, como usar GridView para el moderador del submenú.

    <Button Content="Open file">
        <Button.Flyout>
            <MenuFlyout>
                <SplitMenuFlyoutItem Text="Open with Notepad">
                    <MenuFlyoutItem Text="Visual Studio" />
                    <MenuFlyoutItem Text="VS Code" />
                    <MenuFlyoutItem Text="Word" />
                </SplitMenuFlyoutItem>
            </MenuFlyout>
        </Button.Flyout>
    </Button>
WindowsML

Tipos cambiados de nombre

  • Cambio de nombre de WinMLCatalogModel a ModelCatalog
  • Cambio de nombre de CatalogModelSource a ModelCatalogSource

Actualizaciones de métodos

  • CatalogModelInfo: Se ha renombrado GetInstance a GetInstanceAsync
  • ModelCatalogSource: Se ha renombrado CreateFromUri a CreateFromUriAsync
  • ModelCatalog: Se ha renombrado FindModel a FindModelAsync
  • ModelCatalog: Se ha renombrado FindAllModels a FindAllModelsAsync

Cambios de propiedad

  • Actualizado CatalogModelInfo.Size a CatalogModelInfo.ModelSizeInBytes

Actualizaciones de comportamiento

  • Recupere la instancia de CatalogModelInstanceResult mediante . GetInstance()
  • CatalogModelStatus ahora devuelve Ready o NotReady en función de la disponibilidad local.
  • Se ha agregado CatalogModelInstanceStatus a un estado de instancia independiente del estado del modelo

Mejoras de CatalogModelInfo

  • Cambio de nombre de Alias a Name
  • Cambio de nombre de Revision a Version
  • Se agregó Publisher.
  • DisplayName eliminado

Cambios de JSON

  • Se ha cambiado el alias nombre a id.
  • Se ha quitado modelType y description.
  • Se ha cambiado el executionProvider nombre a executionProviders.
  • Se ha actualizado executionProviders para que sea una matriz de objetos JSON en lugar de una lista separada por comas.

Cambios adicionales

  • ModelCatalog ahora devuelve una lista de proveedores de ejecución (EPs) cuando se crea una instancia.
  • Se ha agregado compatibilidad con Windows 10 (1809) y versiones posteriores.
  • Se ha agregado compatibilidad con archivos locales, incluidos los archivos normales y los paquetes MSIX.
  • Se han corregido bloqueos causados por el JSON de catálogo no válido.
AppContentIndexer
  • El tipo anterior AppIndexQuery , que incluía GetNextTextMatches y GetNextImageMatches los métodos, se ha dividido en dos tipos distintos: AppIndexTextQuery y AppIndexImageQuery. El AppContentIndexer.CreateQuery método se ha reemplazado por: CreateTextQuery y CreateImageQuery.

  • Estos métodos ahora devuelven AppIndexTextQuery y AppIndexImageQuery respectivamente. Para simplificar el uso, también se han actualizado los tipos de opciones:

    • Quitado: AppIndexQueryOptions, TextMatchOptions y ImageMatchOptions
    • Agregado: TextQueryOptions y ImageQueryOptions
  • Las API del AppContentIndex espacio de nombres que devolvieron previamente las matrices ahora devuelven IVectorView para mejorar la coherencia y el rendimiento.

  • El AppContentIndexer.WaitForIndexingIdleAsync método se ha actualizado para aceptar un TimeSpan parámetro en lugar de un entero, lo que proporciona un control de tiempo de espera más claro y flexible.

API de IA de super resolución de vídeo

La VideoScaler API ofrece mejoras de vídeo en tiempo real a través del escalado avanzado de inteligencia artificial, optimizado para secuencias con personas en conversación. Permite a los desarrolladores proporcionar visuales más nítidos y claros en las plataformas de videoconferencia, streaming y edición, incluso en condiciones de red deficientes. La API admite la personalización de la resolución de salida, la velocidad de fotogramas y las regiones de interés, con compatibilidad con varios formatos de vídeo, incluidos BGR, RGB y NV12.

Tono de reescritura de texto de Windows AI

La nueva API RewriteCustomAsync le permite proporcionar una cadena de entrada que guía PhiLice en la reescritura de texto seleccionado. Puede experimentar con nuevos estilos creativos como "Goofy" o "Pirate" para transformar al instante el contenido.

Generación de imágenes de IA

La ImageGenerator clase aprovecha los modelos de difusión estable para proporcionar funcionalidades eficaces de generación de imágenes. Admite varios escenarios de generación:

  • Texto a imagen: Genere imágenes a partir de mensajes de texto descriptivos.

  • Imagen a imagen: Transformar las imágenes existentes en función de las descripciones de texto.

  • Relleno mágico: Rellene las regiones enmascaradas de imágenes con contenido generado por IA.

  • Estilo libro de colorear: Generar imágenes de estilo libro de colorear.

  • Restilizar: Cambie el estilo artístico de las imágenes existentes mientras conserva la estructura.

Todas las imágenes generadas se devuelven en formato RGB8 a través de objetos ImageBuffer . La API incluye filtros de seguridad de contenido integrados y admite parámetros de generación personalizables.

Generación básica de texto a imagen
using Microsoft.Windows.AI.Imaging;
using Microsoft.Graphics.Imaging;
 
public async Task GenerateImageFromText()
{
    var readyState = ImageGenerator.GetReadyState();
    if (readyState != AIFeatureReadyState.Ready)
    {
        var progress = new Progress<double>(p => Console.WriteLine($"Download progress: {p:P}"));
        var result = await ImageGenerator.EnsureReadyAsync();
        if (result.Status != AIFeatureReadyResultState.Success)
        {
            Console.WriteLine("Failed to prepare models");
            return;
        }
    }
 
    using var generator = await ImageGenerator.CreateAsync();
 
    var options = new ImageGenerationOptions
    {
        MaxInferenceSteps = 6,
        Creativity = 0.8,
        Seed = 42
    };
 
    var result = generator.GenerateImageFromTextPrompt("A beautiful sunset over a mountain lake", options);
 
    if (result.Status == ImageGeneratorResultStatus.Success)
    {
        await SaveImageBufferAsync(result.Image, "generated_image.png");
    }
}
Nuevas API para 2.0-experimental3

Esta versión incluye las siguientes API experimentales nuevas y modificadas en comparación con 2.0-experimental2:

Microsoft.Graphics.Imaging

    ImageBufferPixelFormat
        Bgr8
Microsoft.UI.Xaml.Automation.Peers

    SplitMenuFlyoutItemAutomationPeer
Microsoft.UI.Xaml.Controls

    SplitMenuFlyoutItem
Microsoft.Windows.AI.Imaging

    ImageFromImageGenerationOptions
    ImageFromImageGenerationStyle
    ImageFromTextGenerationOptions
    ImageFromTextGenerationStyle
    ImageGenerationOptions
    ImageGenerator
    ImageGeneratorContract
    ImageGeneratorResult
    ImageGeneratorResultStatus
    TextRecognizer
        RecognizeTextFromImage
        RecognizeTextFromImageAsync

    TextRecognizerOptions
Microsoft.Windows.AI.MachineLearning

    CatalogModelInfo
    CatalogModelInstance
    CatalogModelInstanceResult
    CatalogModelInstanceStatus
    CatalogModelStatus
    ModelCatalog
    ModelCatalogSource
Microsoft.Windows.AI.Search.Experimental.AppContentIndex

    AppContentIndexer
        CreateImageQuery
        CreateTextQuery
        WaitForIndexingIdleAsync

    AppIndexImageQuery
    AppIndexTextQuery
    ImageQueryOptions
    TextQueryOptions
Microsoft.Windows.AI.Text

    TextRewriter
        RewriteCustomAsync
Microsoft.Windows.AI.Video

    ScaleFrameStatus
    VideoScaler
    VideoScalerOptions
    VideoScalerResult
Correcciones de errores
  • Se ha corregido el cálculo del cuadro de límite cuando se gira el texto. En algunas circunstancias, la coincidencia de texto OCR dentro de las imágenes notificó límites de región inexactos o vacíos cuando se giraba el texto.

Versión 2.0 Experimental 2 (2.0.0-Experimental2)

Fecha de publicación: 6 de noviembre de 2025

[! IMPORTANTE] Si instaló anteriormente Windows App SDK 2.0 Experimental 1, siga la guía de desinstalación de NuGet para quitar el Microsoft.WindowsAppSDK Metapaquete de NuGet con la versión 2.0.250930001-experimental1 del proyecto y los paquetes de componentes de WinAppSDK asociados de esa versión antes de probar esta nueva versión, ya que el paquete Experimental publicado anteriormente tiene un número de versión superior al actual.

Búsqueda de contenido de la aplicación

Las API de AppContentIndexer permiten a los desarrolladores indexar de forma eficaz el contenido de la aplicación, incluidos texto e imágenes para una recuperación rápida y relevante. Admitir búsquedas léxicas (basadas en palabras clave) y semánticas (basadas en significados), estas API permiten a las aplicaciones ofrecer resultados rápidos y relevantes en función de la intención y el contexto del usuario en lugar de simplemente palabras clave exactas.

Esta funcionalidad desbloquea los siguientes escenarios avanzados:

  • Búsqueda semántica
    Las aplicaciones pueden devolver resultados en función de la intención y el significado en lugar de coincidencias exactas de palabras clave.
    Ejemplo: Una consulta para "escala de tiempo del proyecto" puede exponer contenido que mencione "programación" o "fechas de entrega", incluso si esas palabras exactas no se usaron.
  • Generación Aumentada por Recuperación (RAG)
    El contenido indizado puede servir como base de conocimiento para los modelos de IA generativas. Cuando un usuario hace una pregunta, la aplicación recupera los documentos o fragmentos más relevantes de su índice y los alimenta en el modelo, lo que permite respuestas precisas y compatibles con el contexto basadas en datos reales.
Catálogo de modelos de Windows ML

Las API del catálogo de modelos de Windows ML permiten que la aplicación o la biblioteca detecten y descarguen dinámicamente archivos de modelos de IA de gran tamaño desde sus propios catálogos de modelos en línea, lo que elimina la necesidad de empaquetar estos archivos grandes directamente con la aplicación o biblioteca. El catálogo de modelos ayuda a garantizar la compatibilidad del dispositivo filtrando modelos y descargando solo los aplicables al dispositivo Windows específico en uso.

Ubicaciones de archivos y carpetas persistentes

La actualización más reciente Microsoft.Windows.Storage.Pickers simplifica la selección de archivos y carpetas al permitir que los desarrolladores establezcan ubicaciones de carpetas iniciales y persistentes, y mediante la agrupación de filtros de tipo de archivo con etiquetas claras para facilitar la navegación.

Posicionamiento relativo de ventanas emergentes

La PopupAnchor API ahora permite que DesktopPopupSiteBridge admita el posicionamiento relativo anclándose a su ventana o isla propietaria, resolviendo la limitación donde las ventanas emergentes solo podían ubicarse absolutamente mediante coordenadas de pantalla.

Enrutamiento de entrada para SystemVisual ContentIslands

La InputUnderlyingWindowController API permite a los desarrolladores designar el HWND de destino para recibir mensajes de entrada que originalmente se enviaron a un ContentIsland creado a partir de un SystemVisual (consulte ContentIsland.CreateForSystemVisual).

Colocación flexible del telón de fondo del sistema

SystemBackdropHost permite colocar un telón de fondo del sistema (acrílico/mica) en cualquier lugar dentro del árbol visual de una aplicación.

Posicionamiento secuencial de diseño XAML

WrapPanel es un panel de diseño XAML de WinUI que organiza los elementos secundarios en una posición secuencial de izquierda a derecha, los elementos que desbordan la línea pasarán automáticamente a la línea siguiente al final del panel contenedor. Resulta útil para diseños dinámicos.

Este es un puerto del control de Windows Community Toolkit existente.

Nuevas API para 2.0-experimental2

Esta versión incluye las siguientes API experimentales nuevas y modificadas en comparación con 2.0-experimental1:

Microsoft.UI.Content

    PopupAnchor
Microsoft.UI.Input

    InputUnderlyingWindowController
Microsoft.UI.Xaml.Controls

    StretchChild
    SystemBackdropHost
    WrapPanel
Microsoft.Windows.AI.Imaging

    ImageForegroundExtractor
    ImageForegroundExtractorContract
Microsoft.Windows.AI.Search.Experimental.AppContentIndex

    AppContentIndexContract
    AppContentIndexer
    AppContentIndexListener
    AppIndexContentRegion
    AppIndexQuery
    AppIndexQueryMatch
    AppIndexQueryOptions
    AppIndexTextStreamEncoding
    AppManagedImageQueryMatch
    AppManagedIndexableAppContent
    AppManagedTextQueryMatch
    ContentItemReader
    ContentItemStatus
    ContentItemStatusResult
    ContentRegionTextOptions
    DeleteIndexResult
    DeleteIndexStatus
    DeleteIndexWhileInUseBehavior
    GetOrCreateIndexOptions
    GetOrCreateIndexResult
    GetOrCreateIndexStatus
    ImageMatchOptions
    ImageQueryMatch
    IndexableAppContent
    IndexCapabilities
    IndexCapabilitiesOfCurrentSystem
    IndexCapability
    IndexCapabilityInitializationStatus
    IndexCapabilityLanguageStatus
    IndexCapabilityOfCurrentSystemStatus
    IndexCapabilityRequirement
    IndexCapabilityState
    IndexStatistics
    QueryMatchContentKind
    QueryMatchScope
    RegionContentKind
    TextLexicalMatchType
    TextMatchOptions
    TextQueryMatch
Microsoft.Windows.AI.Text.Experimental

    LanguageModelExperimental
    LanguageModelExperimentalContract
    LanguageModelOptionsExperimental
    LowRankAdaptation
Microsoft.Windows.Storage.Pickers

    FileOpenPicker
        FileTypeChoices
        SuggestedFolder
        SuggestedStartFolder

    FileSavePicker
        SuggestedStartFolder

    FolderPicker
        SuggestedFolder
        SuggestedStartFolder
Problemas conocidos
  • AppContentIndexer Se debe llamar a las API desde un subproceso en segundo plano. Usarlo en el subproceso de la interfaz de usuario puede bloquearse o provocar pausas largas que afectan a la experiencia del usuario.
  • Los resultados de la consulta que usan AppIndexQuery.GetNextTextMatches y AppIndexQuery.GetNextImageMatches serán NULL cuando no haya coincidencias en lugar de una lista vacía.
  • Las coincidencias de imagen utilizando AppManagedImageQueryMatch.Subregion basadas en los valores del OCR pueden ser ocasionalmente inexactas, especialmente cuando el texto está girado o inclinado.
  • Las coincidencias de imagen que usan AppManagedImageQueryMatch.Subregion pueden incluir a veces rectángulos de tamaño cero o extremadamente pequeños, lo que conduce a resultados inexactos.
  • Una consulta vacía de AppContentIndex.CreateQuery puede producir una excepción.

Versión 2.0 Experimental 1 (2.0.0-Experimental1)

Fecha de publicación: 2 de octubre de 2025

Utilice IA en el dispositivo con las API de IA de Windows

Importante

Actualmente, los modelos de ML subyacentes necesarios para estas API requieren que el dispositivo ejecute la compilación más reciente de Windows 11 Insider Preview en el canal de desarrollo. Además, estas API requieren que su dispositivo sea un PC Copilot+. Consulte Guía del desarrollador de PC Copilot+ para obtener más información sobre estos dispositivos. Las APIs producirán una excepción cuando se llame en dispositivos que no tienen la compatibilidad necesaria.

El SDK de aplicaciones de Windows incorpora funcionalidades avanzadas de inteligencia artificial de Windows, lo que permite a los desarrolladores integrar sin problemas características inteligentes en sus aplicaciones. Estas mejoras incluyen funcionalidades de inteligencia artificial local, como responder a mensajes entrantes, reconocer texto dentro de imágenes, describir el contenido de la imagen, extraer objetos de imágenes, etc.

Para obtener información sobre las prácticas de desarrollo responsables que se usan durante la creación de las API de ia de Windows, que también se pueden aplicar al crear características asistidas por IA, consulte las instrucciones sobre desarrollo de aplicaciones y características de IA generativas responsables en Windows .

Microsoft Windows ML

Las API del catálogo de modelos de Windows ML permiten a la aplicación o biblioteca descargar dinámicamente archivos de modelo de IA de gran tamaño desde sus propios catálogos de modelos en línea sin enviar esos archivos grandes directamente con la aplicación o biblioteca. Además, el catálogo de modelos ayudará a filtrar los modelos que son compatibles con el dispositivo Windows en el que se ejecuta, de modo que el modelo correcto se descargue en el dispositivo.

Ventajas clave:

  • Agregar catálogos: agregar uno o varios catálogos en línea
  • Detectar modelos compatibles: busque automáticamente los modelos que funcionan con los proveedores de hardware y ejecución del usuario.
  • Descargar modelos: descargar y almacenar modelos de varios orígenes
  • Compartir modelos entre aplicaciones: si varias aplicaciones usan el mismo origen de catálogo, los modelos se compartirán en el disco sin duplicar las descargas.
Correcciones
  • Se ha corregido un problema en DeploymentManager que provocaba que notificara incorrectamente PackageInstallRequired en algunos casos.
Nuevas API

Esta versión incluye las siguientes API experimentales nuevas y modificadas:

Microsoft.UI.Composition

    CompositionNotificationDeferral
    CompositionProjectedShadow
        MaxOpacity
        MinOpacity
        OpacityFalloff

    CompositionProjectedShadowCaster
        AncestorClip
        Mask

    CompositionProjectedShadowDrawOrder
    CompositionProjectedShadowReceiver
        DrawOrder
        Mask
Microsoft.UI.Composition.Experimental

    ExpCompositionVisualSurface
    ExpExpressionNotificationProperty
    IExpCompositionPropertyChanged
    IExpCompositionPropertyChangedListener
    IExpCompositor
    IExpVisual
Microsoft.UI.Content

    ChildSiteLink
        IsBelowContent

    ContentAppWindowBridge
    ContentDisplayOrientations
    ContentExternalBackdropLink
    ContentExternalOutputLink
    ContentIsland
        Connected
        ConnectionInfo
        ConnectRemoteEndpoint
        Disconnected
        IsRemoteEndpointConnected
        Root

    ContentIslandEnvironment
        CurrentOrientation
        NativeOrientation
        ThemeChanged

    ContentSite
        TryGetAutomationProvider

    ContentSiteEnvironment
        CurrentOrientation
        NativeOrientation
        NotifyThemeChanged

    CoreWindowSiteBridge
    CoreWindowTopLevelWindowBridge
    DesktopChildSiteBridge
        AcceptRemoteEndpoint
        ConnectionInfo
        IsRemoteEndpointConnected
        RemoteEndpointConnecting
        RemoteEndpointDisconnected
        RemoteEndpointRequestedStateChanged

    DesktopPopupSiteBridge
        AnchoringBehavior
        AnchoringPixelAlignment

    DesktopSiteBridge
        TryCreatePopupSiteBridge

    EndpointConnectionEventArgs
    EndpointRequestedStateChangedEventArgs
    IContentIslandEndpointConnectionPrivate
    IContentSiteBridgeEndpointConnectionPrivate
    PopupAnchoringOptions
    PopupWindowSiteBridge
    ProcessStarter
    SystemVisualSiteBridge
Microsoft.UI.Input

    InputKeyboardSource
        GetForWindowId

    InputLayoutPolicy
    InputLightDismissAction
        GetForIsland

    InputLightDismissEventArgs
    InputPointerActivationBehavior
    InputPointerSource
        ActivationBehavior
        DirectManipulationHitTest
        GetForVisual
        GetForWindowId
        RemoveForVisual
        TouchHitTesting
        TrySetDeviceKinds

    InputPopupController
    LightDismissReason
    PopupPointerMode
    ProximityEvaluation
    TouchHitTestingEventArgs
Microsoft.UI.Input.Experimental

    ExpInputSite
    ExpPointerPoint
Microsoft.UI.Windowing

    AppWindow
        GetCurrentPlacement
        PersistedStateId
        PlacementRestorationBehavior
        SaveCurrentPlacement
        SaveCurrentPlacementForAllPersistedStateIds
        SetCurrentPlacement

    AppWindowPlacementDetails
    DisplayArea
        GetMetricsFromWindowId

    PlacementInfo
    PlacementRestorationBehavior
Microsoft.UI.Xaml

    XamlIsland
        ShouldConstrainPopupsToWorkArea
Microsoft.UI.Xaml.Automation.Peers

    AutomationEvents
        Notification

    InkCanvasAutomationPeer
    PagerControlAutomationPeer
Microsoft.UI.Xaml.Controls

    ContentDialogPlacement
        UnconstrainedPopup

    DoInkPresenterWork
    ElementFactory
    FlowLayout
    FlowLayoutAnchorInfo
    FlowLayoutLineAlignment
    FlowLayoutState
    IApplicationViewSpanningRects
    IndexPath
    InfoBar
        Opened

    InfoBarOpenedEventArgs
    InkCanvas
    ISelfPlayingAnimatedVisual
    ItemContainer
        CanUserInvoke
        CanUserInvokeProperty
        CanUserSelect
        CanUserSelectProperty
        ItemInvoked
        MultiSelectMode
        MultiSelectModeProperty

    ItemContainerInteractionTrigger
    ItemContainerInvokedEventArgs
    ItemContainerMultiSelectMode
    ItemContainerUserInvokeMode
    ItemContainerUserSelectMode
    LayoutPanel
    NumberBox
        InputScope
        InputScopeProperty
        TextAlignment
        TextAlignmentProperty

    PagerControl
    PagerControlButtonVisibility
    PagerControlDisplayMode
    PagerControlSelectedIndexChangedEventArgs
    PagerControlTemplateSettings
    ProgressRing
        DeterminateSource
        DeterminateSourceProperty
        IndeterminateSource
        IndeterminateSourceProperty

    RecyclePool
    RecyclingElementFactory
    ScrollingScrollStartingEventArgs
    ScrollingZoomStartingEventArgs
    ScrollView
        ScrollStarting
        ZoomStarting

    SelectionModel
    SelectionModelChildrenRequestedEventArgs
    SelectionModelSelectionChangedEventArgs
    SelectTemplateEventArgs
    StackLayout
        IsVirtualizationEnabled
        IsVirtualizationEnabledProperty

    StackLayoutState
    TeachingTip
        Opened

    TeachingTipOpenedEventArgs
    UniformGridLayoutState
Microsoft.UI.Xaml.Controls.Primitives

    ScrollPresenter
        ScrollStarting
        ZoomStarting
Microsoft.Windows.AI.MachineLearning

    CatalogModelInfo
    CatalogModelInstance
    CatalogModelInstanceResult
    CatalogModelSource
    CatalogModelStatus
    WinMLModelCatalog
Microsoft.Windows.ApplicationModel.WindowsAppRuntime

    DeploymentManager
        Repair

    DeploymentStatus
        PackageRepairFailed
Microsoft.Windows.AppNotifications

    AppNotification
        ConferencingConfig

    AppNotificationConferencingConfig
Microsoft.Windows.AppNotifications.Builder

    AppNotificationBuilder
        AddCameraPreview

    AppNotificationButton
        SetSettingStyle

    AppNotificationButtonSettingStyle
Microsoft.Windows.SemanticSearch

    EmbeddingVector
    SemanticSearchContract
Microsoft.Windows.Storage

    ApplicationData
        GetForUnpackaged
Microsoft.Windows.Vision

    ScreenRegionBoundingBox
    ScreenRegionDetectionContract
    ScreenRegionLabel