Procedura dettagliata: debug di un'applicazione WPF
In questa procedura dettagliata viene illustrato come eseguire il debug di una semplice applicazione WPF (Windows Presentation Foundation) con WPF Designer. Verrà utilizzata la finestra di dialogo Informazioni sulle eccezioni per interpretare l'eccezione di analisi XAML (Extensible Application Markup Language).
Questa procedura dettagliata prevede l'esecuzione delle attività seguenti:
Creazione di un progetto WPF.
Interpretazione di un'eccezione.
Interpretazione di un'eccezione di un controllo figlio.
Al termine, si sarà in grado di interpretare le eccezioni generate durante l'analisi XAML.
Nota
È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.
Prerequisiti
Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:
- Visual Studio 2010.
Creazione del progetto
Il primo passaggio consiste nella creazione del progetto per l'applicazione.
Per creare il progetto
In Visual Basic o Visual C# creare un nuovo progetto di applicazione WPF denominato DynamicLayout. Per ulteriori informazioni, vedere Procedura: creare un nuovo progetto di applicazione WPF.
MainWindow.xaml viene aperto in WPF Designer.
In visualizzazione XAML impostare la proprietà Background della finestra su "Azure".
<Window x:Class="DebuggingExample.MainWindow" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Background="Azure" Title="MainWindow" Height="300" Width="300"> <Grid> </Grid> </Window>
Il colore di sfondo della finestra verrà aggiornato in visualizzazione Progettazione.
Sostituire "Azure" con "Azurer" e fare clic nella visualizzazione Progettazione.
In visualizzazione Progettazione viene visualizzato il messaggio "Nel documento sono contenuti errori che devono essere corretti per consentire l'aggiornamento della finestra di progettazione. Fare clic qui per aprire l'elenco degli errori".
Inoltre, nella finestra Elenco errori viene visualizzato il messaggio "Token non valido".
Scegliere Avvia debug dal menu Debug.
L'applicazione verrà riavviata, verrà aperta la visualizzazione XAML e verrà visualizzata la finestra di dialogo Informazioni sulle eccezioni, come illustrato nella figura seguente.
Nota Se la visualizzazione XAML non si apre quando viene visualizzata la finestra di dialogo Informazioni sulle eccezioni, disattivare l'opzione di debug Just My Code. Per ulteriori informazioni, vedere How to: Step Into Just My Code.
Interpretazione dell'eccezione.
L'eccezione è un errore di analisi XAML. Nella finestra di dialogo Informazioni sulle eccezioni vengono visualizzate informazioni sull'errore, che è possibile utilizzare per interpretarne la causa.
Per interpretare l'eccezione
Nella finestra di dialogo Informazioni sulle eccezioni fare clic sul collegamento Visualizza dettagli.
Verrà visualizzata la finestra di dialogo Visualizza dettagli.
Nella sezione Snapshot eccezione espandere l'elemento System.Windows.Markup.XamlParseException.
L'elemento LineNumber indica 3 e l'elemento LinePosition indica 5.
Fare clic sull'elemento Message.
Un pulsante freccia GIÙ viene visualizzato alla fine della riga. Fare clic sul pulsante per vedere il messaggio di errore intero, come riportato nell'illustrazione seguente.
Il testo del messaggio è "Impossibile convertire il valore nell'attributo 'Background' in un oggetto di tipo 'System.Windows.Media.Brush'. Token non valido. Errore in corrispondenza dell'oggetto 'DebuggingExample.MainWindow' nel file di markup 'DebuggingExample;component/MainWindow.xaml', riga 3, posizione 5".
In questa eccezione viene descritto un errore di analisi XAML individuato nel file MainWindow.xaml, alla riga 5.
L'eccezione viene generata perché l'oggetto TypeConverter per Brush non è stato in grado di convertire la stringa "Azurer" in un oggetto Brush.
Fare clic su OK per chiudere la finestra di dialogo Visualizza dettagli.
Fare clic su OK per chiudere la finestra di dialogo Informazioni sulle eccezioni.
Scegliere Termina debug dal menu Debug.
Creazione di un progetto UserControl
È possibile utilizzare la finestra di dialogo Informazioni sulle eccezioni per interpretare gli errori generati da un controllo in un assembly distinto.
Per creare il progetto
In visualizzazione XAML reimpostare il valore della proprietà Background su "Azure".
Aggiungere alla soluzione un nuovo progetto di libreria di controlli utente WPF denominato DemoControlLibrary. Per ulteriori informazioni, vedere Procedura: creare un nuovo progetto di libreria UserControl di WPF.
Il file UserControl1.xaml verrà aperto in WPF Designer.
In visualizzazione XAML impostare la proprietà Background della finestra su "Plum".
<UserControl x:Class="DemoControlLibrary1.UserControl1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Background="Plum" Height="300" Width="300"> <Grid> </Grid> </UserControl>
Compilare la soluzione.
In Esplora soluzioni, nel progetto DebuggingExample, aggiungere un riferimento al progetto DemoControlLibrary.
Aprire MainWindow.xaml in WPF Designer.
Eseguire il mapping dello spazio dei nomi DemoControlLibrary inserendo seguente markup XAML nel tag di apertura per <Window>. Per ulteriori informazioni, vedere Procedura: importare uno spazio dei nomi in XAML.
xmlns:d="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
Inserire il seguente markup XAML dopo il tag di apertura per <Grid>.
<d:UserControl1 />
La visualizzazione Progettazione verrà aggiornata con il nuovo colore di sfondo.
Aprire UserControl1.xaml in WPF Designer.
In visualizzazione XAML, sostituire "Plum" con "Plumr".
Scegliere Avvia debug dal menu Debug.
L'applicazione verrà riavviata, il file UserControll.xaml verrà aperto in visualizzazione XAML e verrà visualizzata la finestra di dialogo Informazioni sulle eccezioni.
Nota Se la visualizzazione XAML non si apre quando viene visualizzata la finestra di dialogo Informazioni sulle eccezioni, disattivare l'opzione di debug Just My Code. Per ulteriori informazioni, vedere How to: Step Into Just My Code.
Passaggi successivi
- È anche possibile utilizzare la finestra Elenco errori per visualizzare gli errori di analisi XAML in fase di progettazione. Per ulteriori informazioni, vedere Errori XAML e Guida.
Vedere anche
Concetti
Exception Handling (Debugging)
Procedura dettagliata: compilazione di una semplice applicazione WPF con Progettazione WPF