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.
Gli sviluppatori che lavorano sui progetti XAML spesso devono rilevare e risolvere gli errori di data binding XAML nelle applicazioni. Sono ora disponibili strumenti in Visual Studio 2019 versione 16.8 o successiva e Visual Studio 2022 per individuare questi fastidiosi errori di data binding durante il debug dell'applicazione. Di seguito sono riportati alcuni esempi di errori di associazione comuni:
- Associazione a un nome di proprietà che non esiste:
{Binding Wrong.Name}
- Associazione a un valore del tipo errato, ad esempio l'associazione a un valore booleano quando è necessaria un'enumerazione:
Visibility="{Binding IsVisible}"
Poiché queste associazioni vengono calcolate in fase di esecuzione tramite reflection, l'editor XAML non è sempre in grado di intercettarli e la compilazione avrà comunque esito positivo. L'errore si verifica solo in fase di esecuzione.
Il data binding XAML è illustrato negli articoli seguenti:
- Per WPF: panoramica del data binding - WPF .NET
- Per la piattaforma UWP: panoramica del data binding - Applicazioni UWP
- Per Xamarin.Forms: associazione dati Xamarin.Forms - Xamarin
- Per .NET MAUI: .NET MAUI Data Binding
Gli errori di associazione sono sempre stati scritti nella finestra di output di debug in Visual Studio. Tuttavia, è facile perdere gli errori di associazione all'interno dell'output di debug perché contiene altre informazioni di debug che consentono di scorrere gli errori di associazione fuori dalla visualizzazione. Di seguito è riportato un esempio di errore di associazione WPF all'interno della finestra di output di debug:
L'errore di associazione potrebbe essere a centinaia di righe dalla parte visibile della finestra e il testo non indica esattamente quale binding ha avuto l'errore, quindi è necessario riflettere e cercare.
Ora, con la finestra dello strumento Errori di binding XAML, puoi vedere chiaramente quali associazioni hanno avuto esito negativo, insieme ai dati pertinenti per ogni errore, ad esempio il percorso del file all'interno di XAML. Inoltre, esistono molte funzionalità utili per analizzare gli errori eseguendo ricerche, ordinamenti e anche aprendo l'editor XAML con lo stato attivo impostato sull'associazione non riuscita.
Facendo doppio clic su queste righe viene aperto il codice XAML di origine per l'associazione, come illustrato nell'immagine seguente:
Finestra strumenti errori di associazione XAML
La finestra degli errori di associazione XAML è disponibile durante il debug. Per aprirlo, passare a Debug>Errori di binding XAML di Windows>.
In alternativa, selezionare il pulsante Errori di associazione sulla barra degli strumenti dell'applicazione. Il numero accanto all'icona mostra il numero di errori di associazione visualizzati nella finestra degli strumenti.
Quando non sono presenti errori di associazione nella finestra degli strumenti, l'icona viene visualizzata come grigia senza un numero accanto. Questa operazione è utile durante l'esecuzione dell'applicazione. Se l'icona diventa rossa con un numero, fare clic su di essa per passare rapidamente alla finestra degli strumenti per vedere quali errori di binding si sono verificati. Non è necessario tenere d'occhio le finestre degli strumenti di Visual Studio. Quando un binding non riesce, l'icona ti dirà subito.
Viene visualizzata anche un'icona simile nella finestra degli strumenti Struttura ad albero visuale attiva.
Di seguito è riportata una descrizione di tutti i componenti della finestra degli strumenti Errori di binding XAML.
- La barra degli strumenti nella parte superiore contiene i pulsanti come indicato di seguito:
- Cancellare l'elenco degli errori: questa opzione è utile se si sta per visualizzare una nuova pagina nell'app e verificare se vengono visualizzati errori di binding. Quando si avvia una nuova sessione di debug, l'elenco viene cancellato automaticamente.
- Elimina righe selezionate: se un errore è stato risolto o non è rilevante, è possibile eliminarlo dall'elenco. Le righe eliminate verranno visualizzate di nuovo se il collegamento fallisce nuovamente.
- Cancella tutti i filtri: se sono presenti filtri nell'elenco, ad esempio la ricerca di testo, questo pulsante li cancella e visualizza l'elenco completo.
- Combina duplicati: spesso la stessa associazione fallirà molte volte di seguito quando si trova all'interno di un modello di elemento. Quando il pulsante Combina duplicati è selezionato (con un contorno attorno), tutti gli errori duplicati vengono visualizzati come una singola riga. Nella colonna Conteggio verrà visualizzato il numero di volte in cui si è verificato l'errore.
- La casella errori di associazione di ricerca nell'angolo superiore consente di filtrare gli errori solo per quelli che contengono testo specifico.
- Le colonne della tabella, in ordine, mostrano:
- Un'icona che segnala se la riga è per un errore o un avviso.
- Un'icona che mostra le parentesi angolari
<>
se è supportato il passaggio al{Binding}
non riuscito in XAML. Consultare la sezione Piattaforme Supportate. -
Data Context: Questo è il nome del tipo per l'oggetto di origine del binding
- Consulta Binding.Source
-
Percorso di associazione: Questo è il percorso della proprietà per l'associazione
- Vedi Binding.Path
- Target: nome del tipo e della proprietà in cui verrà impostato il valore dell'associazione.
- tipo di destinazione: si tratta del tipo previsto della proprietà di destinazione dell'associazione.
- Descrizione: questa colonna contiene ulteriori informazioni su esattamente ciò che è fallito per l'associazione.
- File, Linee Project: se noto, si tratta del percorso in XAML in cui è definita l'associazione.
- Facendo clic con il pulsante destro del mouse su una riga o su più righe selezionate verrà visualizzato un menu di scelta rapida, con opzioni standard per visualizzare/nascondere colonne o raggrupparle. Altre opzioni sono le seguenti:
- Copiare il testo da una riga o solo da una singola colonna negli Appunti.
- La funzione "Copia Errore Originale" copierà il testo visualizzato nella finestra di output del debug.
- Visualizza origine indirizzerà alla sorgente di associazione in XAML per una singola riga selezionata.
- Reimposta colonne annulla tutte le modifiche apportate alla visibilità e all'ordinamento delle colonne, ripristinando rapidamente ciò che è stato originariamente visualizzato.
Per ordinare l'elenco, fare clic su qualsiasi intestazione di colonna. Per eseguire di nuovo l'ordinamento in base a una colonna aggiuntiva, tenere premuto il tasto MAIUSC e fare clic su un'altra intestazione di colonna. Per selezionare le colonne visualizzate e quali sono nascoste, scegliere Mostra colonne dal menu di scelta rapida. Per modificare l'ordine in cui vengono visualizzate le colonne, trascinare qualsiasi intestazione di colonna a sinistra o a destra.
Dopo aver fatto doppio clic su una riga o premere Invio per spostarsi nell'origine, è possibile premere F8 o MAIUSC+F8 per spostarsi verso il basso o verso l'alto nell'elenco degli errori di associazione. Questo è simile ad altri riquadri in Visual Studio che mostrano un elenco.
Piattaforme supportate
La maggior parte delle piattaforme XAML è supportata se gli errori di associazione vengono scritti nell'output di debug. Alcune piattaforme forniscono informazioni di origine aggiuntive al debugger che consente di passare all'origine.
piattaforma | supportati | Navigare verso la fonte supportata |
---|---|---|
WPF .NET Framework | Sì | No |
WPF .NET 5.0 RC2+ | Sì | Sì |
UWP | Sì | No |
WinUI3 desktop | Sì | No |
MAUI (interfaccia utente dell'app multipiattaforma) | Sì | No |
Xamarin 4.5.0.266-pre3+ | Sì | Sì |
Xamarin prima di 4.5.0.266-pre3 | No | No |
L'opzione Ricaricamento rapido XAML deve essere abilitata in Visual Studio per consentire la navigazione al codice sorgente. Questa opzione si trova nella finestra di dialogo Strumenti Opzioni>di Debugging>:
L'esplorazione all'origine funziona solo per le associazioni definite nei file di origine XAML, non se vengono create tramite codice. Si possono vedere chiaramente quali righe supportano la navigazione all'origine. Se nella seconda colonna non è presente alcuna icona con parentesi angolare, l'esplorazione all'origine non è supportata, ad esempio con la riga evidenziata nello screenshot seguente:
Per WPF in .NET Framework, gli errori di data binding devono essere visualizzati nell'output di debug per il riquadro Errori di associazione XAML per rilevarli e visualizzarli. L'opzione per questa opzione si trova nella finestra di dialogo Strumenti>Opzioni>debug>finestra di output>impostazioni di traccia WPF. Se l'impostazione è Off o Critical, gli errori di data binding non vengono scritti nell'output di debug e non possono essere rilevati. Con WPF in .NET 5, .NET 6 e versioni successive, l'impostazione di output del data binding non influisce sull'elenco di errori.