Condividi tramite


Ultime note sulla versione del canale Stabile per Windows App SDK

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:

Archivio 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.5

Versione 1.5.5 (1.5.240627000)

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

  • Correzione di un potenziale arresto anomalo durante il caricamento delle immagini quando l'origine dell'immagine viene modificata prima del completamento del caricamento.
  • Correzione di un potenziale arresto anomalo durante l'uso di InputNonClientPointerSource.
  • È stato risolto un problema per cui una finestra contenente solo un controllo WebView2 non imposta correttamente lo stato attivo iniziale della tastiera su WebView2, lasciandolo inutilizzabile dagli strumenti di tastiera e accessibilità. Per altre informazioni, vedere Problema di GitHub WebView2Feedback#2330.

Versione 1.5.4 (1.5.240607001)

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

  • È stato risolto un problema relativo alla correzione del problema di GitHub #8857 per unire correttamente le risorse di una libreria nel file resources.pri dell'app.
  • È stato risolto un problema a causa del quale WebView2 inviava eventi aggiuntivi blur e focus su ogni clic. Per altre informazioni, vedere Problema di GitHub #9288. In questo modo vengono risolti anche i problemi relativi agli elenchi a discesa che non rispondono, come illustrato nel problema di GitHub #9566.
  • È stato risolto un problema per cui la creazione di una nuova finestra o di un popup annullava qualsiasi operazione di trascinamento in corso. Per altre informazioni, vedere Problema di GitHub #9360.
  • È stato risolto un problema per cui i file SVG che definiscono una casella di visualizzazione negativa non più sottoposto a rendering. Per altre informazioni, vedere Problema di GitHub n. 9415.
  • È stato risolto un problema per cui x:Bind non verificava la presenza di null prima di usare un riferimento debole, che poteva causare un arresto anomalo. Per altre informazioni, vedere Problema di GitHub #9551.
  • È stato risolto un problema per cui un cursore di ridimensionamento veniva visualizzato erroneamente ai bordi della barra del titolo quando una finestra era ingrandita, causando un comportamento errato anche quando si fa clic o si trascina in tali aree. Per altre informazioni, vedere Problema di GitHub #8665.

Versione 1.5.3 (1.5.240428000)

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

  • È stato risolto un problema a causa del quale ItemsRepeater la finestra veniva portata in primo piano.
  • È stato risolto un potenziale blocco che si verificava all'aggiornamento della trasparenza di un oggetto AcrylicBrush.
  • È stato risolto un problema a causa del quale ItemsRepeater non generava elementi a sufficienza se si trovava in una finestra popup ShouldConstrainToRootBounds="false" più alta o più larga della finestra principale.
  • È stato risolto un problema a causa del quale l'errore MSB4086 si verificava in fase di compilazione se il file di progetto non specificava un elemento TargetPlatformVersion. Questo errore è stato riscontrato nell'ambito dell'errore GitHub 9531.

Versione 1.5.2 (1.5.240404000)

Si tratta di una versione di manutenzione di Windows App SDK che include delle correzioni di bug critiche per la versione 1.5 e una nuova funzionalità per i provider di feed di widget.

Aggiornamenti dei provider di feed di widget

  • Ora i provider di feed sono in grado di mostrare gli annunci nel dashboard dei widget:
    • La nuova API FeedManager.TryShowAnnouncement consente a un provider di feed di richiedere che il dashboard dei widget ne mostri gli annunci. Per mostrare l'annuncio, creare un oggetto FeedAnnouncement e chiamare l'API FeedManager.TryShowAnnouncement.
    • Gli annunci di feed avranno i propri badge visualizzati nella barra delle applicazioni, che può essere personalizzata tramite l'API FeedAnnouncement.
  • Ora i provider di feed possono acconsentire esplicitamente alla ricezione di informazioni su Analisi e Segnalazioni errori del provider quando un utente vi interagisce. Per acconsentire esplicitamente, implementare le interfacce IFeedProviderAnalytics e/o IFeedProviderErrors dal provider.

Gli aggiornamenti del provider di feed includono le seguenti nuove:

Microsoft.Windows.Widgets.Feeds.Providers
 
    FeedAnalyticsInfoReportedArgs
    FeedErrorInfoReportedArgs
    FeedManager
        SendMessageToContent
        TryShowAnnouncement
 
    FeedMessageReceivedArgs
    FeedResourceRequest
    FeedResourceRequestedArgs
    FeedResourceResponse
    IFeedAnnouncementInvokedTarget
    IFeedManager2
    IFeedProviderAnalytics
    IFeedProviderErrors
    IFeedProviderMessage
    IFeedResourceProvider
Microsoft.Windows.Widgets.Notifications
 
    AnnouncementActionKind
    AnnouncementTextColor
    FeedAnnouncement
    FeedAnnouncementInvokedArgs

Correzioni di bug

  • Risolto un problema per cui DispatcherTimer non si attivava al momento giusto se lo schermo primario non era in esecuzione a 60 Hz.
  • Risolto un problema per cui una finestra Input Method Editor (IME) della casella di testo non veniva posizionata correttamente quando era in esecuzione a un fattore di scala diverso dal 100%. Per altre informazioni, vedere il problema 9382 su GitHub.
  • Risolto un problema per cui un'operazione di trascinamento avviata da un'altra app poteva non consentire le operazioni di rilascio Copia/Spostamento/Collegamento.
  • Correzione di un potenziale arresto anomalo quando un controllo ListView ItemsSource viene ripristinato e riportato immediatamente allo stato attivo.
  • Risolto un problema per cui i popup/riquadri a comparsa ShouldConstrainToRootBounds="false" non applicavano le trasformazioni di dimensionamento ereditate. Per altre informazioni, vedere i problemi di GitHub #9118 e #9433.
  • Correzione di un potenziale arresto anomalo quando un oggetto Composition viene rimosso con un'animazione ancora in esecuzione.
  • Correzione di un potenziale arresto anomalo durante l'arresto in NavigationView::RevokeNavigationViewItemRevokers.

Versione 1.5.1 (1.5.240311000)

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

  • Risolto un problema per cui la compilazione di app poteva non riuscire per l'impossibilità di copiare "map.html".
  • Risolto un problema per cui l'inizializzazione di MapControl non riusciva a causa del rifiuto di token validi. Per altre informazioni, vedere il problema 9324 su GitHub.
  • Risolto un problema per cui il caricamento di MapControl avveniva con uno sfondo blu. Per altre informazioni, vedere il problema 9377 su GitHub.
  • Risolto un problema per cui facendo clic sulla freccia di espansione, un NavigationViewItem non si espandeva o comprimeva correttamente con un solo clic. Questo errore faceva anche sì che i menu apparissero vuoti quando si cliccava la freccia di espansione in modalità PaneDisplayMode="Top". Per altre informazioni, vedere i problemi di GitHub #9423 e #9426.
  • Risolto un problema per cui il tocco su un NavigationViewItem con tocco o penna impediva all'elemento di rispondere a qualsiasi input futuro. Per altre informazioni, vedere il problema 9429 su GitHub.
  • Correzione di un arresto anomalo quando si fa clic su un elemento nell'area NavigationView.PaneFooter. Per altre informazioni, vedere il problema 9396 su GitHub.
  • Risolto un problema per cui le icone nei menu comparivano talvolta in posizione errata. Per altre informazioni, vedere il problema 9409 su GitHub.
  • Risolto un problema per cui l'acrilico non compariva nei menu fino a quando non si usciva dalla finestra e vi si rientrava. Per altre informazioni, vedere il problema 9406 su GitHub.
  • Correzione di un arresto anomalo che poteva verificarsi durante l'inizializzazione di TextBox/RichEditBox. Per altre informazioni, vedere il problema 9216 su GitHub.
  • Correzione di alcune eccezioni rumorose che NavigationView generava e rilevava per la distruzione.
  • Risolto un problema per cui un gesto "avvicina le dita per eseguire lo zoom" mostrava una panoramica o un tocco a causa di un'attivazione del messaggio PointerCaptureLost errata.

Versione 1.5

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

In un'app esistente di Windows App SDK1.3 è possibile aggiornare il pacchetto Nuget alla versione 1.5.240227000 (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, vedere anche Download per il Windows App SDK.

Aggiornamenti di runtime e arresto delle isole XAML

Esiste una differenza comportamentale tra WinAppSDK 1.4 e WinAppSDK 1.5 per le app basate sulle isole XAML quando viene chiusa l'ultima finestra XAML su qualsiasi thread.

  • In WinAppSDK 1.4 il runtime XAML esce sempre dal ciclo di eventi del thread quando viene chiusa l'ultima finestra XAML di un thread.
  • In WinAppSDK 1.5:
    • Se l'app è un'app Desktop WinUI, il comportamento predefinito è sempre uguale a quello di WinAppSDK 1.4.
    • Se si utilizza Xaml per l'API DesktopWindowXamlSource ("Isole Xaml"), il comportamento predefinito prevede che Xaml non esca automaticamente dal ciclo di eventi del thread.
    • In entrambe le modalità è possibile modificare questo comportamento impostando la proprietà Application.DispatcherShutdownMode.

Per altre informazioni, vedere la documentazione relativa alla Application.DispatcherShutdownMode proprietà quando disponibile. Questa operazione completa la proposta di GitHub #8492.

Esiste una differenza comportamentale tra WinAppSDK 1.4 e WinAppSDK 1.5 per le app basate su isole XAML nella durata del runtime XAML:

  • In WinAppSDK 1.4 il runtime XAML si arresta su un thread se tutti gli WindowsXamlManager e gli DesktopWindowXamlSource oggetti in un determinato thread vengono chiusi o arrestati oppure DispatcherQueue l'esecuzione su tale thread viene arrestata (in questo caso il runtime XAML si arresta durante la DispatcherQueue.FrameworkShutdownStarting fase).
  • In WinAppSDK 1.5 il runtime XAML si arresta su un thread solo quando DispatcherQueue in esecuzione su tale thread viene arrestato (il runtime Xaml viene sempre arrestato durante la DispatcherQueue.FrameworkShutdownStarting fase).

Per altre informazioni, vedere la documentazione relativa alla WindowsXamlManager classe quando disponibile.

Esiste una differenza comportamentale in WindowsXamlManager.InitializeForCurrentThread():

  • In WinAppSDK 1.4 WindowsXamlManager.InitializeForCurrentThread() restituisce un'istanza univoca di un WindowsXamlManager oggetto con ogni chiamata.
  • In WinAppSDK 1.5 restituisce WindowsXamlManager.InitializeForCurrentThread() un'istanza esistente se ne esiste già una nel thread. Close/Dispose() viene ora ignorato.

Controllo Mappe WinUI

Il controllo WinUI Maps è ora disponibile. Questo controllo è basato su WebView2 e Mappe di Azure, fornendo le seguenti funzionalità:

  • Panoramica e zoom con i pulsanti della mappa o il tocco.
  • Modifica dello stile della mappa in visualizzazione satellite, terreno o strada.
  • Aggiunta a livello di codice di pin interagendo con icone personalizzabili dallo sviluppatore alla mappa.
  • Personalizzazione dello sviluppatore per la posizione in cui la mappa è centrata sul carico iniziale.
  • Controllare per gli sviluppatori di nascondere o visualizzare i pulsanti per la panoramica, lo zoom e gli stili della mappa.

Controllo Mappe WinUI 3

Nota

Per usare il Maps controllo, è necessario un tasto Mappe di Azure. Per creare la chiave, vedere la pagina della documentazione Mappe di Azure per la creazione di un'app Web.

Il Maps controllo è completamente nuovo e siamo lieti di valutare la sua direzione futura!

Nuovo controllo SelectorBar

Nella versione 1.5 è stato aggiunto un nuovo SelectorBar controllo per consentire agli utenti di passare da più visualizzazioni di dati. Questo controllo era precedentemente noto come "SegmentedControl" nella roadmap 1.5.

Controllo SelectorBar WinUI 3

Etichette nei comandi primari CommandBarFlyout

Gli oggetti visivi di CommandBarFlyout sono stati aggiornati per visualizzare un'etichetta di testo per gli elementi nell'area dei comandi primari se la Label proprietà è stata impostata su AppBarButton. In precedenza, i comandi primari nell'area CommandBarFlyout visualizzavano solo un'icona, ma ora possono visualizzare sia un'icona che un'etichetta per migliorare l'usabilità.

Etichette CommandBarFlyout WinUI 3

Supporto webView2 per ambiente/opzioni personalizzate

Il controllo WinUI WebView2 espone ora la possibilità di personalizzare l'oggetto sottostante CoreWebView2 con un oggetto personalizzato CoreWebView2Environment e CoreWebView2ControllerOptions. Ciò consente all'autore dell'app di specificare un percorso alternativo da cui caricare WebView2Runtime, scegliere di usare un diverso UserDataFolder, o impostare opzioni come IsPrivateModeEnabled e ScriptLocale.

Supporto per .NET 8

È stato aggiunto il supporto per .NET 8 in una versione di manutenzione 1.4 recente, ma questo ha comunque mantenuto l'avviso per l'uso di RID specifici della piattaforma. Nella versione 1.5 il lavoro è stato completato in modo che l'avviso non sia più presente.

Miglioramento del debug e della disponibilità dell'origine

A questo punto inseriamo informazioni sul server di origine Github per il codice nel repository microsoft-ui-xaml nei simboli pubblici, consentendo ai debugger di scaricare automaticamente il codice sorgente. Abbiamo anche apportato altre correzioni e miglioramenti ai nostri simboli nell'intero WinAppSDK per migliorare l'esperienza di debug.

Funzionalità migliorate per il debug dei cicli di layout

Il debug dei cicli di layout in un'app WinUI può essere un problema, quindi nella versione 1.5 l'oggetto DebugSettings espone ora le opzioni per abilitare la registrazione e i punti di interruzione migliorati per il processo di layout per semplificare il debug e la correzione dei cicli di layout nell'app.

Altre nuove funzionalità da winAppSDK

  • Aggiunta del supporto per il modello di distribuzione PublishSingleFile. Per altre info su PublishSingleFile, vedere la documentazione relativa alla distribuzione di file singoli.
  • Sono stati aggiunti miglioramenti al supporto del lettore dello schermo, al supporto per il ridimensionamento del testo e ad altre funzionalità di accessibilità.
  • Vari miglioramenti della stabilità e delle prestazioni in base al backlog dei bug di GitHub con priorità.

Nuove funzionalità rilasciate separatamente

Le nuove versioni dei modelli di Visual Studio WinAppSDK per C# e C++ vengono rilasciate tramite Visual Studio Marketplace e verranno visualizzate alcune settimane dopo il rilascio della versione 1.5. Con la nuova versione, i modelli potrebbero ora essere rilasciati indipendentemente dalle versioni di WinAppSDK, offrendoci molto più flessibilità per ottenere gli aggiornamenti ai clienti.

Altre funzionalità pianificate in precedenza

Nella versione 1.5 sono stati compiuti progressi sulle funzionalità seguenti annunciate nella roadmap, ma non completate. Continueranno nell'intervallo di tempo 1,6.

  • Finestre a schede
  • Supporto del trascinamento della selezione per WebView2
    • Per chiarire, nel trascinamento della versione 1.5 in WebView2 è supportato, ad esempio il trascinamento di un file PNG da Esplora file in Bing per Ricerca visiva. Il lavoro è in corso nella versione 1.6 per supportare il trascinamento di WebView2.
  • Indagini sui controlli visualizzazione tabella e input penna

L'illuminazione dinamica è stata rimossa dalla roadmap per il momento.

Problemi noti

  • Quando si usano librerie che contengono risorse come file xaml, è possibile che venga visualizzato un messaggio di errore in fase di esecuzione che indica che non è possibile trovare tali risorse. In questo caso, potrebbe essere necessario inserire <ShouldComputeInputPris>true</ShouldComputeInputPris> nel file di progetto per assicurarsi che tali risorse vengano incluse.
  • Facendo clic sulla freccia di espansione di un oggetto NavigationViewItem non viene più espanso o compresso correttamente su un singolo clic. Il doppio clic continua a funzionare, così come il clic in altre parti di NavigationViewItem.

Correzioni di bug

  • È stato risolto un problema per cui StackPanel ha applicato la spaziatura agli elementi compressi. Per altre informazioni, vedere il problema 916 su GitHub.
  • Sono stati risolti problemi con i controlli di scorrimento che non funzionano più dopo la chiusura di un'altra finestra dell'app. Per altre informazioni, si vedano i Problemi di GitHub #9292 e #9355.
  • Correzione di un arresto anomalo quando si imposta DebugSettings.EnableFrameRateCounter su Vero prima del rendering del primo frame. Per altre informazioni, vedere il problema 2835 su GitHub.
  • Correzione di un potenziale errore di compilazione per C++ in cui alcune intestazioni non includevano le dipendenze necessarie. Si noti che la modifica dell'ordine #include potrebbe influire su alcune app, ad esempio causando un errore di compilazione per IInspectable se l'app usa una versione di C++/WinRT precedente al 2023. Per altre informazioni, vedere il problema 9014 su GitHub.
  • È stato risolto un problema per cui ElementName le associazioni non funzionano all'interno di ItemsRepeater DataTemplate. Per altre informazioni, vedere il problema 560 su GitHub.
  • Correzione di arresti anomali durante l'esecuzione di un'app in Visual Studio con la barra degli strumenti in-app abilitata. Visual Studio 17.8 Preview 2 o versione successiva è necessario per ottenere completamente le correzioni. Per altre informazioni, vedere il problema 8806 su GitHub.
  • È stato risolto un problema per cui AnnotatedScrollbar a volte poteva verificarsi un arresto anomalo durante lo scorrimento rapido.
  • È stato risolto un problema per cui il testo del menu a volte verrebbe troncato.
  • È stato risolto un problema per cui i suggerimenti per l'insegnamento non ricevevano lo stato attivo appropriato. Per altre informazioni, vedere il problema 3257 su GitHub.
  • È stato risolto un problema che causava l'arresto anomalo dell'applicazione durante l'impostazione TailVisibility di un oggetto TeachingTip su Compresso all'avvio. Per altre informazioni, vedere il problema 8731 su GitHub.
  • È stato risolto un problema relativo al modo in cui i file PRI venivano gestiti quando si usano le librerie. Per altre informazioni, vedere il problema 8857 su GitHub.
  • È stato risolto un problema dalla versione 1.5-experimental2 in cui la DLL di proiezione non veniva generata. Per altre informazioni, vedere il problema 4152 su GitHub.
  • È stato risolto un problema per cui il pulsante con i puntini di sospensione nella finestra popup per la formattazione del testo di RichEditBox non visualizzava correttamente l'elenco delle azioni. Per altre informazioni, vedere il problema 9140 su GitHub.
  • È stato risolto un problema per cui ListView non gestiva correttamente gli acceleratori da tastiera. Per altre informazioni, vedere il problema 8063 su GitHub.
  • Correzione di un problema di violazione di accesso relativo all'uso AccessKey di per chiudere una finestra. Per altre informazioni, vedere il problema 8648 su GitHub.
  • Correzione di un arresto anomalo quando si usa un AccessKey oggetto per chiudere una finestra. Per altre informazioni, vedere il problema 9002 su GitHub.
  • È stato risolto un problema che interessava l'allineamento del testo in un MenuFlyoutItem all'interno di un MenuBar. Per altre informazioni, vedere il problema 8755 su GitHub.
  • È stato risolto un problema per cui il testo evidenziato non rimane evidenziato al clic con il pulsante destro del mouse. Per altre informazioni, vedere il problema 1801 su GitHub.
  • È stato risolto un problema che causava l'arresto anomalo dell'app inattiva all'arresto anomalo dell'app. Per altre informazioni, vedere il problema 8913 su GitHub.
  • È stato risolto un problema che poteva bloccare le applicazioni durante lo scorrimento con il pulsante centrale del mouse e facendo clic con il pulsante sinistro immediatamente dopo. Per altre informazioni, vedere il problema 9233 su GitHub.
  • Risolto un problema che causava l'arresto anomalo delle app durante l'uso di un NavigationViewItem personalizzato. Per altre informazioni, vedere il problema 8814 su GitHub.
  • Risolto un problema NavigationView per cui il pulsante con i puntini di sospensione generava erroneamente un errore. Per altre informazioni, vedere il problema 8380 su GitHub.
  • Risolto un problema per cui il rendering di SystemBackdrop non veniva effettuato correttamente in un'app con più finestre. Per altre informazioni, vedere il problema 8423 su GitHub.
  • Risolto un problema di duplicazione durante l'inserimento all'inizio di una ObservableCollection. Per altre informazioni, vedere il problema 8370 su GitHub.