Condividi tramite


Note sulla versione del canale stabile per Windows App SDK 1.4

Il canale stabile fornisce versioni di Windows App SDK supportati per l'uso da parte delle app negli ambienti di produzione. Le app che usano la versione stabile del Windows app SDK possono anche essere pubblicate in Microsoft Store.

Collegamenti importanti:

Ultime note sulla versione del canale Stabile

Vedere Download per Windows App SDK.

Nota

Le estensioni di Visual Studio (VSIX) di Windows App SDK non vengono più distribuite come download separato. Sono disponibili in Visual Studio Marketplace all'interno di Visual Studio.

Versione 1.4.7 (1.4.240802001)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.4.

  • È stato risolto un problema per cui ItemsRepeater non generava elementi sufficienti se si trovasse in un ShouldConstrainToRootBounds="false" popup più alto o più ampio della finestra principale.
  • Correzione di un potenziale arresto anomalo durante l'arresto se un AnnotatedScrollBar aggiornamento dell'etichetta era in sospeso.

Versione 1.4.6 (1.4.240512000)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.4.

  • Correzione di un potenziale arresto anomalo durante l'elaborazione dell'input.
  • Risolto un problema per cui un'operazione di trascinamento avviata da un'altra app poteva non consentire le operazioni di rilascio Copia/Spostamento/Collegamento corrette.
  • Correzione delle informazioni sul server di origine WinUI per il debug in modo che punti correttamente al repository GitHub microsoft-ui-xaml.
  • Correzione del problema con la soluzione del problema GitHub 8857 per unire correttamente il resources.pri di una libreria al resources.pri di un'app.

Versione 1.4.5 (1.4.240211001)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.4.

  • È stato risolto un problema che poteva bloccare le applicazioni quando si faceva clic su un pulsante del mouse mentre si scorreva con la rotellina del mouse. Per altre informazioni, vedere il problema 9233 su GitHub.
  • È stato risolto un problema relativo agli asset duplicati quando si fa riferimento a una catena di pacchetti NuGet. Per altre informazioni, vedere il problema 8857 su GitHub.
  • Sono stati risolti diversi BreadcrumbBar problemi, tra cui una perdita di memoria, un arresto anomalo quando il menu con i puntini di sospensione è vuoto e il menu con i puntini di sospensione non è vincolato correttamente all'interno della finestra.
  • Correzione di un potenziale arresto anomalo durante il rilascio delle risorse grafiche.

Versione 1.4.4 (1.4.231219000)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.4.

  • Correzione di un problema di sicurezza della diagnostica winUI 3.
  • È stato risolto un problema di input per cui la casella della password non visualizzava la tastiera su schermo quando è attivata tramite tocco. Per altre informazioni, vedere il problema 8946 su GitHub.
  • È stato risolto un problema che causava l'aumento imprevisto delle Microsoft.UI.Xaml.Controls.dll dimensioni del file.
  • È stato risolto un CommandBarFlyout problema che poteva causare arresti anomali durante l'impostazione dello stato attivo.
  • Aggiornamento del supporto Windows App SDK per la gestione degli asset specifici di .NET 8 RID.
  • È stato risolto un problema che causava il posizionamento o l'estensione non corretta di alcune portachiavi.

Versione 1.4.3 (1.4.231115000)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.4.

  • È stato risolto un problema per cui un menu poteva essere visualizzato senza sfondo per un breve periodo di tempo.
  • Correzione di un arresto anomalo che potrebbe verificarsi in scenari specifici con più monitor.
  • È stato risolto un problema per cui un menu di scelta rapida poteva essere visualizzato fuori schermo.
  • È stato risolto un problema relativo a stili di finestra e all'ottimizzazione del comportamento. Per altre informazioni, vedere il problema 8996 su GitHub.
  • È stato risolto un problema relativo alle isole in cui lo stato attivo poteva essere catturato in modo imprevisto da un altro controllo.
  • Correzione di un problema relativo all'ordine di tabulazione in NavigationView.
  • È stato risolto un problema di rendering per cui una barra bianca potrebbe essere visibile nella parte superiore della barra del titolo. Per altre informazioni, vedere il problema 8947 su GitHub.
  • Varie correzioni delle prestazioni.

Versione 1.4.2 (1.4.231008000)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.4.

  • È stato risolto un problema di arresto anomalo in explorer.exe causato da un'allocazione eccessiva di memoria e oggetti.
  • Correzione di un problema di interazione della barra del titolo che impediva il corretto funzionamento del pulsante Indietro.
  • È stato risolto un problema che causava la generazione di un avviso per l'inserimento di un file di origine più volte.
  • Correzione di un problema che influisce sulle prestazioni del menu di scelta rapida.
  • È stato risolto un problema di collegamento .lnk che faceva sì che il .exe di destinazione puntasse sempre alla stessa posizione per i pacchetti nella cartella WindowsApps.
  • Correzione di un problema DWriteCore che interessa il rendering corretto del testo indic in determinati tipi di carattere.
  • È stato risolto un problema in una visualizzazione elenco che impediva lo spostamento tramite tastiera corretto da e verso gli elementi selezionati nidificati con TAB/MAIUSC + TAB.
  • È stato risolto un problema che causava lo scorrimento degli elementi ComboBox tramite tocco dopo l'espansione di ComboBox una seconda volta. Per altre informazioni, vedere il problema 8831 su GitHub.
  • È stato risolto un problema per cui i pacchetti WinAppSDK non includevano le risorse localizzate di WinUI per alcune lingue.
  • Correzione di un'incoerenza tra il modo in cui Esplora file e XAML visualizzano il linguaggio preferito di un utente.
  • È stato risolto un problema di artigianalità in Esplora file causando la visualizzazione di una linea sottile sotto la scheda attiva.
  • È stato risolto un problema per cui alcuni acceleratori di tastiera forniti dal framework non erano localizzati correttamente. Per altre informazioni, vedere il problema 2023 su GitHub.
  • È stato risolto un problema relativo ai controlli RepeatButton che venivano scorrere ripetutamente quando si toccava.
  • Correzione del programma di installazione di WinAppSDK .exe per avere informazioni appropriate sulla versione delle risorse.

Versione 1.4.1 (1.4.230913002)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.4.

  • Sono stati risolti problemi di prestazioni per migliorare il tempo al primo fotogramma.
  • È stato risolto un problema per cui i menu non rispettava RequestedTheme. Ad esempio, è stato possibile che questo problema comporti il testo bianco su uno sfondo bianco. Per altre informazioni, vedere il problema 8756 su GitHub.
  • È stato risolto un problema che causava la completa trasparenza degli sfondi acrilici in alcuni menu.
  • È stato risolto un problema per cui XAML a volte causava la ridipintura non necessaria dello sfondo del desktop da parte di Windows.
  • Correzione del supporto per TabNavigation = Local e TabNavigation = Cycle per ListView e GridView, che ora consente di spostarsi tra intestazioni ed elementi con TAB oltre ai tasti di direzione.
  • Correzione di alcune eccezioni rumorose quando si ignora una descrizione comando. Per altre informazioni, vedere il problema 8699 su GitHub.

Funzionalità nuove e aggiornate e problemi noti per la versione 1.4

Nelle sezioni seguenti vengono descritte le funzionalità nuove e aggiornate e i problemi noti per la versione 1.4.

In un'app esistente di Windows App SDK1.3 è possibile aggiornare il pacchetto Nuget alla versione 1.4.230822000 (vedere la sezione Aggiorna un pacchetto in Installazione e gestione pacchetti in Visual Studio usando Gestione pacchetti NuGet).

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

Barra del titolo personalizzata + operazione di fusione della barra del titolo di AppWindow

La barra del titolo personalizzata winUI 3 usa l'implementazione della barra del titolo appWindow, insieme alle API NonClientInputPointerSource, per la logica in Windows App SDK 1.4. Di conseguenza, entrambe le implementazioni della barra del titolo ora si comportano allo stesso modo con le stesse funzionalità e limitazioni. Questa funzionalità è completamente compatibile con le versioni precedenti in tutti i casi supportati: qualsiasi app con una barra del titolo definita personalizzata avrà un comportamento precedente. Tuttavia, è ora più facile per gli sviluppatori WinUI 3 che potrebbero essere nuovi a barre dei titoli personalizzate per comprenderli e usarli sfruttando queste nuove funzionalità:

  • Uno scenario predefinito migliore in cui lo sviluppatore non definisce un elemento della barra del titolo in modo specifico (sostituendo la barra del titolo di fallback da WinUI 2)
  • Aree di trascinamento distinte nella barra del titolo, consentendo di creare più aree di trascinamento e posizionare controlli selezionabili in qualsiasi parte dell'area non client (area della barra del titolo)
  • Aree trascinabili a livello di app che possono essere inserite ovunque nell'app o rendere l'intera app trascinabile
  • Supporto di tema migliore che sostituisce il tema basato sulle risorse
    • Poiché le aree di trascinamento sono trasparenti, seguono ogni volta il tema dell'app
  • Avere una maggiore personalizzazione: nascondere i pulsanti min, max e close; posizionare le icone di sistema nella barra del titolo; o avere aree diverse agiscono come pulsanti didascalia che ricevono risposte NCHITTEST
  • Maggiore libertà di sviluppo che consente di combinare e abbinare le API della barra del titolo di AppWindow, ad esempio l'uso di API WinUI 3 di livello superiore per la maggior parte degli scenari, ma con le API AppWindow miste per il controllo di livello inferiore

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à.

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

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.

  • 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à 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.
  • 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.
  • La versione di WebView2 SDK è stata aggiornata dalla versione 1661.34 alla 1823.32.
  • 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.

Problemi noti

Correzioni di bug

  • È stato risolto un problema per cui la chiamata all'API causava l'arresto Microsoft.Windows.AppLifecycle.AppInstance.Restart("") anomalo delle app non in pacchetto. Per altre informazioni, vedere il problema 2792 su GitHub.
  • Correzione di un problema di arresto anomalo del programma di installazione introdotto nella versione 1.4-experimental1. Per altre informazioni, vedere il problema 3760 su GitHub.
  • È stato risolto un problema per cui il barrato del testo non veniva rimosso correttamente in un controllo TextBlock. Per altre informazioni, vedere il problema 1093 su GitHub.
  • È stato risolto un problema che causava un errore di spostamento maiusc+TAB in un pannello con TabFocusNavigation impostato su "Una sola volta". Per altre informazioni, vedere il Problema #1363 di GitHub.
  • È stato risolto un problema in C++/WinRT che impediva {x:Bind} di funzionare correttamente con una proprietà di un controllo XAML denominato. Per altre informazioni, vedere il problema 2721 su GitHub.
  • Correzione di un problema di AccessViolation in fase di esecuzione nelle app desktop WinUI causate dall'impostazione di DebugSettings.EnableFrameRateCounter = true. Per altre informazioni, vedere il problema 2835 su GitHub.
  • È stato risolto un problema per cui XamlTypeInfo.g.cpp non includeva le intestazioni necessarie. Per altre informazioni, vedere il problema 4907 su GitHub.
  • È stato risolto un problema di arresto anomalo causato dall'input simultaneo tramite multi-touch e mouse. Per altre informazioni, vedere il problema 7622 su GitHub.
  • È stato risolto un problema che impediva lo scorrimento di una finestra dell'app WinUI 3 attiva quando l'impostazione di sistema per disabilitare lo scorrimento delle finestre inattive sul mouse era attiva. Per altre informazioni, vedere il problema 8764 su GitHub.
  • Correzione di un arresto anomalo durante il tentativo di sottoclasse MediaPlayerElement.
  • Correzione di alcuni problemi di arresto anomalo e perdita di memoria in TreeView.
  • È stato risolto un problema di blocco dell'app che poteva verificarsi quando si usa la tastiera per spostarsi in RadioButtons.
  • Correzione di un arresto anomalo quando si usa la tastiera per spostarsi in un oggetto PipsPager.
  • Correzione del ridimensionare il contenuto di WebView2 con l'impostazione accessibilità "Dimensioni testo" nell'app Impostazioni.
  • Correzione di un arresto anomalo che potrebbe verificarsi quando le animazioni erano in esecuzione quando lo schermo è spento.
  • È stato risolto un problema di prestazioni introdotto nella versione 1.3 che aggiungeva un sovraccarico del 10% al primo layout/rendering.