Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Visual Studio include un set di strumenti di runtime che consentono di progettare, scorrere ed esaminare il codice XAML winUI 3 mentre l'app è in esecuzione. Usati insieme, offrono un ciclo rapido di modifica-ricaricamento-ispezione che mostra l'interfaccia utente reale, ovvero stili reali, modelli di dati reali, animazioni reali, piuttosto che un'approssimazione statica.
Nota
La finestra di progettazione XAML di Visual Studio (la scheda Progettazione con funzionalità di trascinamento della selezione) non supporta attualmente i progetti WinUI 3. Se hai aperto un file .xaml e vedi solo l'editor XML, l'installazione non è danneggiata: la finestra Designer non è disponibile per WinUI 3. La richiesta di funzionalità viene rilevata in Developer Community: Aggiungere il supporto della finestra di progettazione XAML per le app desktop WinUI 3. Per informazioni generali sul lavoro di progettazione, vedi Discussione su WindowsAppSDK #4710.
Gli strumenti di runtime descritti in questo articolo sono utili sia che un designer sia disponibile oppure no. Questo articolo illustra il flusso di lavoro.
Cosa userai
| Tool | Funzione | Come aprirlo |
|---|---|---|
| ricaricamento rapido XAML | Applica le modifiche XAML all'applicazione in esecuzione senza riavviarla | Automatico: modificare qualsiasi .xaml file durante il debug |
| Albero visuale in tempo reale | Mostra l'albero degli elementi di runtime completo e consente di selezionare gli elementi nell'app | Debug>>Struttura ad albero dinamica |
| Esplora proprietà attive | Visualizza e consente di modificare ogni proprietà nell'elemento selezionato in fase di esecuzione | Debug>Windows>Esplora proprietà in tempo reale |
| Anteprima di XAML Live | Esegue il rendering dell'app in esecuzione all'interno di Visual Studio in modo da poter controllare senza cambiare finestra | Debug>>anteprima live di WindowsXAML |
Suggerimento
Ancorare la struttura ad albero visuale attiva e Esplora proprietà attive affiancate . Insieme offrono una visualizzazione di ispezione dettagliata che mostra i valori di runtime effettivi.
Prerequisites
- Visual Studio 2022 versione 17.0 o successiva (sono inclusi XAML Ricaricamento rapido e Live Visual Tree).
- Un progetto WinUI 3 che usa il SDK per app di Windows. Vedere Creare ed eseguire un progetto WinUI 3 per crearne uno.
- Il progetto deve avere come destinazione .NET 6 o versione successiva (C#) o usare C++/WinRT.
Passaggio 1: Avviare l'app nel debugger
Premere F5 (o Debug>Avvia il debug). Xaml Ricaricamento rapido viene attivato automaticamente quando il debugger è collegato.
La barra degli strumenti XAML Ricaricamento rapido viene visualizzata nell'overlay dell'app. Se non viene visualizzato, verificare che l'impostazione sia abilitata:
- Passare a Strumenti>Opzioni>debug>Ricaricamento rapido XAML.
- Verificare che l'opzione Abilita Ricaricamento rapido XAML sia selezionata.
Importante
L'Ricaricamento rapido XAML richiede il debugger. L'esecuzione senza debug (Ctrl+F5) disabilita Ricaricamento rapido, Live Visual Tree e Live Property Explorer.
Passaggio 2: Modificare XAML e visualizzare immediatamente le modifiche
Con l'app in esecuzione, passa a un file .xaml qualsiasi nell'editor e apporta una modifica, ad esempio cambia un colore Background o aggiungi un nuovo Button. L'app in esecuzione viene aggiornata entro un secondo o due secondi, senza riavviare.
Cosa Ricaricamento rapido può e non può fare
Ricaricamento rapido gestisce le modifiche più comuni:
- Aggiunta, rimozione o riordinamento di elementi
- Modifica dei valori delle proprietà (colori, margini, testo, dimensioni)
- Aggiungere o modificare stili e dizionari di risorse
- Modifica del contenuto del modello di dati
Alcune modifiche richiedono un riavvio:
- Aggiunta di nuove classi, gestori di eventi code-behind o modifiche
x:Class - Modificare i dizionari uniti
App.xaml(talvolta) - Modifica delle
x:Bindespressioni che fanno riferimento a nuove proprietà
Quando Ricaricamento rapido non può applicare una modifica, la barra degli strumenti visualizza una notifica. È sufficiente riavviare l'app per raccogliere tali modifiche.
Per altre informazioni, vedi Ricaricamento rapido XAML.
Passaggio 3: Esaminare la struttura ad albero visuale e le proprietà
Aprire la finestra Struttura ad albero visuale attiva (Debug>Windows>Live Visual Tree). Questa finestra mostra ogni elemento nell'albero dell'interfaccia utente dell'app in esecuzione, organizzato in base alle relazioni padre-figlio.
Selezionare gli elementi visivamente
- Nella barra degli strumenti Live Visual Tree, attiva Select Element in the Running Application (il pulsante con mirino).
- Fai clic su un elemento qualsiasi nell'app in esecuzione: l'albero passa a quell'elemento e Esplora proprietà attive ne mostra le proprietà.
Questo è l'equivalente in fase di esecuzione del fare clic su un elemento in una superficie di progettazione, tranne per il fatto che rispecchia esattamente ciò di cui viene eseguito il rendering nell'app, inclusi gli elementi creati dinamicamente nel codice.
Modificare le proprietà in fase di esecuzione
In Esplora proprietà attive è possibile modificare i valori delle proprietà in tempo reale. Per esempio:
- Modificare un oggetto
Marginper regolare la spaziatura e visualizzare immediatamente l'effetto. - Imposta
VisibilitysuCollapsedper verificare cosa accade quando un elemento è nascosto. - Regola
WidthoHeightper testare i layout reattivi.
Queste modifiche di runtime non vengono salvate di nuovo nel file XAML, ma sono destinate alla sperimentazione. Dopo aver trovato i valori desiderati, digitarli nel .xaml file (dove Ricaricamento rapido li preleva e li rende permanenti).
Passaggio 4: Usare l'anteprima in tempo reale XAML
Xaml Live Preview esegue il rendering dell'app in esecuzione all'interno di una scheda Visual Studio, in modo da poter visualizzare l'app e l'origine XAML affiancata senza passare da una finestra all'altra.
Per aprirlo: Debug>Windows>XAML Live Preview.
Ciò è particolarmente utile nelle configurazioni a monitor singolo in cui Alt-Tabbing tra l'app e Visual Studio è scomodo.
Per altre informazioni, vedi Xaml Live Preview.For more information, see XAML Live Preview.
Consigliato: creare una pagina di playground della UI
Crea una pagina di prova dedicata all’interno del progetto, ovvero una pagina il cui unico scopo è permetterti di sperimentare con controlli, stili e layout. In questo modo si ottiene un scratchpad sempre pronto per l'iterazione visiva e si associa in modo particolarmente efficace con gli strumenti di runtime precedenti.
Configura il playground
Fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Aggiungi>nuova pagina>vuota (WinUI 3). Chiamalo
UIPlayground.xaml.In
UIPlayground.xamlaggiungere un oggettoScrollViewercon sezioni per ogni controllo o pattern da provare:<Page x:Class="MyApp.UIPlayground" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <ScrollViewer Padding="24"> <StackPanel Spacing="24"> <!-- Section: Buttons --> <TextBlock Text="Buttons" Style="{StaticResource SubtitleTextBlockStyle}"/> <StackPanel Orientation="Horizontal" Spacing="8"> <Button Content="Standard"/> <Button Content="Accent" Style="{StaticResource AccentButtonStyle}"/> <ToggleButton Content="Toggle"/> <HyperlinkButton Content="Link" NavigateUri="https://learn.microsoft.com"/> </StackPanel> <!-- Section: Text input --> <TextBlock Text="Text input" Style="{StaticResource SubtitleTextBlockStyle}"/> <TextBox PlaceholderText="Type here..." Width="300" HorizontalAlignment="Left"/> <PasswordBox PlaceholderText="Password" Width="300" HorizontalAlignment="Left"/> <!-- Add more sections as needed --> </StackPanel> </ScrollViewer> </Page>Rendere il parco giochi facile da raggiungere. Durante lo sviluppo, impostarlo come pagina di avvio in
App.xaml.cs:// In App.xaml.cs, OnLaunched method — swap in for quick playground access: // rootFrame.Navigate(typeof(UIPlayground));In alternativa, se l'app usa un
NavigationView, aggiungi una voce di menu che venga visualizzata solo nelle build di debug. Ad esempio, nel code-behind della finestra principale:// In your main window or shell page constructor, after InitializeComponent(): #if DEBUG NavView.MenuItems.Add(new NavigationViewItem { Content = "UI Playground", Tag = typeof(UIPlayground) }); #endifdove
NavViewè ilx:Namedel controlloNavigationView.
Come usare il playground
- Premere F5 per avviare l'app e passare alla pagina del playground.
- Apri il file
.xamlaffiancato all'app in esecuzione (oppure utilizza XAML Live Preview). - Aggiungere o modificare controlli nell'editor XAML: Ricaricamento rapido esegue immediatamente il push delle modifiche.
- Usa Live Visual Tree per fare clic sui controlli visualizzati e ispezionare i relativi valori effettivi del layout in Live Property Explorer.
- Quando sei soddisfatto dell'aspetto di un controllo, copia il codice XAML nella tua pagina reale.
Questo modello offre un ciclo "type-reload-inspect" e, poiché esegue codice reale, vengono visualizzati modelli di dati reali, stili reali e animazioni reali.
Confronto tra gli approcci in fase di progettazione e in fase di esecuzione
Ecco come vengono mappate le attività comuni di progettazione dell'interfaccia utente agli strumenti di runtime:
| Task | Strumento di runtime |
|---|---|
| Aggiungere un controllo alla pagina | Digitare l'elemento XAML : IntelliSense completa il tag e le proprietà necessarie |
| Visualizzare in anteprima il controllo | Visualizzarlo in tempo reale nell'app in esecuzione tramite Ricaricamento rapido |
| Selezionare un elemento da controllare | Utilizzarel'elemento LiveVisual Tree> Select (crosshair) |
| Visualizzare o modificare le proprietà | Usa Esplora proprietà in tempo reale |
| Regolare le dimensioni o la posizione | Modifica Width, Height, Margin in XAML o in Esplora proprietà dinamiche |
Suggerimenti per un flusso di lavoro efficiente
- Usa l'app Gallery di WinUI 3. Installarlo dal Microsoft Store o compilarlo da GitHub. Mostra ogni controllo WinUI 3 con esempi interattivi e XAML pronti per la copia. Si consideri un catalogo visivo che è possibile esplorare prima di scrivere XAML.
- Mantieni aperta la pagina del playground. Consideralo come una guida di stile vivente per la tua app.
- Usare
d:DesignHeighted:DesignWidth. Anche senza la finestra di progettazione, questi attributi consentono a IntelliSense di mantenere le dimensioni coerenti delle pagine quando vengono aperte nell'editor. - Combina con la finestra Errori di associazione XAML. Aprirlo da Debug>Windows>Errori di associazioneXAML per rilevare gli errori di associazione che la finestra di progettazione non avrebbe mai mostrato.
- Usa il toolkit della community. Il Windows Community Toolkit fornisce controlli e helper che riducono la quantità di layout necessario per il codice manuale.