Note sulla versione del canale di anteprima per Windows App SDK 1.4

Importante

Il canale anteprima non è supportato per l'uso negli ambienti di produzione e le app che utilizzano i rilasci sperimentali non possono essere pubblicati nel Microsoft Store.

Il canale di anteprima include le versioni di Windows AppSDK con funzionalità del canale di anteprima nelle ultime fasi di sviluppo. Le versioni di anteprima non includono funzionalità sperimentali e API, ma potrebbero comunque essere soggette a modifiche di rilievo prima della prossima versione stabile.

Collegamenti importanti:

Ultime note sulla versione del canale di anteprima:

Ultime note sulla versione del canale Stabile

Versione 1.4 Preview 2 (1.4.0-preview2)

Questa è l'ultima versione del canale di anteprima per la versione 1.4.

In un'app esistente di Windows App SDK 1.3 (dal canale stabile) è possibile aggiornare il pacchetto Nuget alla versione 1.4.0-preview2 (vedere la sezione Aggiorna un pacchetto in Installazione e gestione pacchetti in Visual Studio usando il Gestione pacchetti NuGet).

Per il runtime e l'MSIX aggiornati, consultare la sezione Ultimi download di Windows App SDK.

Isole XAML non più sperimentali

Le isole XAML e la piattaforma ContentIslands sottostante non sono più sperimentali.

  • Attualmente le isole XAML vengono testate solo per l'uso nelle app C++. Questa versione non include elementi wrapper pratici da usare in WPF o WinForms.
  • DesktopWindowXamlSource e i tipi correlati sono stati aggiunti nello spazio dei nomi Microsoft.UI.Xaml.Hosting per le isole XAML. XamlRoot.ContentIslandEnvironment è stato aggiunto per consentire l'accesso alle informazioni sull'isola sottostanti per un elemento.
  • Molti nuovi tipi sono stati introdotti nello spazio dei nomi Microsoft.UI.Content e nello spazio dei nomi Microsoft.UI.Input come supporto sottostante per le isole XAML o per l'uso di questa funzionalità ContentIslands senza XAML.
  • Nello spazio dei nomi Microsoft.UI.Input.DragDrop è stato aggiunto un nuovo DragDropManager (più i tipi correlati) per gli scenari dell'isola.

ItemsView updates

La nuova ItemsView classe introdotta nella versione 1.4-preview1 è stata sostanzialmente aggiornata con nuove proprietà e una nuova classe di supporto.

  • Il nuovo ItemsView controllo visualizza una raccolta dati. ItemsView è simile a ListView e GridView ma viene compilato usando i componenti ItemsRepeater, ScrollView, ItemContainer e ItemCollectionTransitionProvider. Offre la possibilità unica di collegare implementazioni personalizzate Layout o ItemCollectionTransitionProvider. Un altro vantaggio fondamentale è la possibilità di cambiare il layout in tempo reale mantenendo la selezione degli elementi. Il controllo interno ScrollView offre anche funzionalità non disponibili nel ListView/GridView's ScrollViewer ad esempio la possibilità di controllare l'animazione durante gli scorrimenti a livello di codice.
    • Una nuova ItemTransitionProvider proprietà su ItemsRepeater (e il nuovo controllo ItemsView) consente di specificare un ItemCollectionTransitionProvider oggetto per controllare le animazioni di transizione su tale controllo. È CreateDefaultItemTransitionProvider stato aggiunto anche un metodo a Layout, che consente a un oggetto di layout di fornire una transizione di fallback per accompagnarla se non ne viene specificato uno in modo esplicito nel comando ItemsView.
    • Una nuova IndexBasedLayoutOrientation proprietà in Layout cui l'orientamento del layout, se presente, degli elementi si basa sull'indice nella raccolta di origine. Il valore predefinito è IndexBasedLayoutOrientation.None. I layout personalizzati impostano questa proprietà chiamando il nuovo metodo (protetto) SetIndexBasedLayoutOrientation.
    • Una nuova VisibleRect proprietà su VirtualizingLayoutContext ottiene il rettangolo del riquadro di visualizzazione visibile all'interno dell'oggetto FrameworkElement associato all'oggetto Layout. È possibile eseguire l'override del metodo virtuale protetto VirtualizingLayoutContext.VisibleRectCore per fornire il valore che verrà restituito dalla proprietà VisibleRect.
  • La nuova LinedFlowLayout classe viene in genere utilizzata per disporre gli elementi del ItemsView controllo raccolta. È particolarmente utile per la visualizzazione di raccolte di immagini. Lo fa posandoli da sinistra a destra, e dall'alto verso il basso, in linee di uguale altezza. Le immagini riempiono una linea orizzontale e quindi la incapsulano in una riga successiva. Le immagini potrebbero essere ritagliate ai bordi sinistro e destro per adattarsi a una linea. Potrebbero anche essere espansi orizzontalmente e ritagliati nei bordi superiore e inferiore per riempire una linea quando viene utilizzata la modalità di estensione.

Nuove funzionalità e aggiornamenti da winAppSDK

  • Popup/FlyoutBase.IsConstrainedToRootBounds = false è ora supportato, consentendo a un popup/riquadro a comparsa di estendersi all'esterno dei limiti della finestra padre. È SystemBackdrop stata aggiunta una proprietà a questi tipi per supportare l'acrilico in questi popup non vincolati. I menu per impostazione predefinita usano questa opzione per avere l'acrilico.
  • Closed, FrameworkClosed, e IsClosed sono stati aggiunti a DesktopAcrylicController e MicaController per migliorare la gestione durante l'arresto di oggetti/thread.
  • DesktopAcrylicController.Kind ora può essere impostato per scegliere tra alcune apparenze acriliche standard.
  • DispatcherQueue include alcuni nuovi eventi e helper per facilitare un arresto organizzato migliore e per le app che usano le isole per eseguire facilmente un ciclo di eventi supportato standard.
  • InputNonClientPointerSource nello spazio dei nomi Microsoft.UI.Input può essere usato per scenari personalizzati della barra del titolo per definire le regioni dell'area non destinate al client. Il codice può registrarsi per gli eventi corrispondenti, ad esempio il passaggio del mouse e fare clic sugli eventi in queste aree.
  • AppWindow include alcuni nuovi helper per ottenere un DispatcherQueue e associarlo allo stesso.
  • Il nuovo TreeView.SelectionChanged evento consente agli sviluppatori di rispondere quando l'utente o il code-behind modifica il set di nodi selezionati nel controllo TreeView.
  • Il nuovo ScrollView controllo fornisce una nuova alternativa a ScrollViewer. Questo nuovo controllo è altamente allineato nel comportamento e nell'API con il controllo esistente ScrollViewer , ma è basato su InteractionTracker, ha nuove funzionalità come le modifiche alla visualizzazione guidata dall'animazione ed è progettato anche per garantire la funzionalità completa di ItemsRepeater. Vedere Uno ScrollViewer più flessibile · Problema n. 108 · microsoft/microsoft-ui-xaml (github.com) per altri dettagli. Vari nuovi tipi, tra cui ScrollPresenter, fanno parte del modello complessivo ScrollView.
  • Il nuovo AnnotatedScrollBar controllo estende la funzionalità di una normale barra di scorrimento offrendo un modo semplice per spostarsi in un'ampia raccolta di elementi. Questa operazione viene ottenuta tramite una rotaia selezionabile con etichette che fungono da marcatori. Consente inoltre una comprensione più granulare del contenuto scorrevole visualizzando una descrizione comando quando si passa il puntatore sulla barra di scorrimento selezionabile.

Nuove API nella versione 1.4.0-preview2

La versione 1.4-preview2 include le nuove API seguenti rispetto alla versione 1.4-preview1 precedente:

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

Versione 1.4 Preview 1 (1.4.0-preview1)

Questa è l'ultima versione del canale di anteprima per la versione 1.4.

In un'app esistente di Windows App SDK 1.3 (dal canale stabile) è possibile aggiornare il pacchetto Nuget alla versione 1.4.0-preview1 (vedere la sezione Aggiorna un pacchetto in Installazione e gestione pacchetti in Visual Studio usando il Gestione pacchetti NuGet).

Per il runtime e l'MSIX aggiornati, consultare la sezione Ultimi download di Windows App SDK.

Aggiornamenti dei widget

Sono state aggiunte tre nuove interfacce per i provider di widget da implementare: IWidgetProvider2, IWidgetProviderAnalytics e IWidgetProviderErrors. IWidgetProvider2 consente ai provider di rispondere all'azione Personalizza richiamata dall'utente, che è identica a quella disponibile per i widget di terze parti. Le interfacce IWidgetProviderAnalytics e IWidgetProviderErrors vengono usate dai provider per raccogliere dati di telemetria per i widget. Gli eventi di analisi e di errore relativi ai widget vengono comunicati ai rispettivi provider di widget. Le classi WidgetCustomizationRequestedArgs, WidgetAnalyticsInfoReportedArgse WidgetErrorInfoReportedArgs vengono usate per comunicare informazioni pertinenti per supportare nuove funzionalità.

Nuove funzionalità da tutto il WinAppSDK

  • Una nuova ThemeSettings classe che consente alle app Win32 WinRT di rilevare quando l'impostazione contrasto elevato del sistema è cambiata, in modo simile alla classe AccessibilitySettings piattaforma UWP. Per altre informazioni, vedere la specifica dell'API ThemeSettings su GitHub.
  • Popup/FlyoutBase.ShouldConstrainToRootBounds è ora supportato per consentire a descrizioni comando, menu e altri popup di estendersi all'esterno dei limiti della finestra principale. La Preview 1 non supporta ancora completamente l'uso dell'acrilico o di altri SystemBackdrops in un popup/riquadro a comparsa; API e implementazioni aggiuntive per questa funzionalità verranno incluse nella versione 1.4 successiva.
  • AccessKeyManager.EnterDisplayMode è un nuovo metodo per visualizzare le chiavi di accesso per l'elemento attivo corrente di una radice specificata. Le chiavi di accesso sono in "modalità di visualizzazione" quando viene visualizzato un suggerimento per richiamare un comando, ad esempio premendo il tasto Alt in Paint per mostrare quali tasti corrispondono ai controlli. Questo metodo consente di attivare la modalità di visualizzazione a livello di codice.
  • Application.ResourceManagerRequested fornisce un meccanismo per fornire un diverso IResourceManager per risolvere gli URI delle risorse per gli scenari in cui l'impostazione predefinita ResourceManager non funzionerà. Per altre informazioni, vedere la specifica dell'API Application.ResourceManagerRequested in GitHub.
  • Viene introdotto un nuovo controllo elenco denominato ItemsView e una classe concreta ItemContainer corrispondente. ItemContainer è un contenitore leggero con stati di selezione predefiniti e oggetti visivi, che possono facilmente eseguire il wrapping del contenuto desiderato e essere usati con ItemsView per uno scenario di controllo raccolta. ItemsView è ancora contrassegnato come sperimentale in Preview 1, ma verrà incluso nella versione 1.4 successiva.
  • La versione di WebView2 SDK è stata aggiornata dalla versione 1661.34 alla 1823.32.

Nuove API nella versione 1.4.0-preview1

La versione 1.4-preview1 include le nuove API seguenti rispetto alla versione stabile 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