Share via


Exemplarische Vorgehensweise: Debuggen einer WPF-Anwendung

In dieser exemplarischen Vorgehensweise wird erläutert, wie eine einfache WPF-Anwendung (Windows Presentation Foundation) mit dem WPF-Designer gedebuggt wird. Dabei wird im Dialogfeld Ausnahmen-Assistent eine XAML (Extensible Application Markup Language)-Analyseausnahme interpretiert.

Im Verlauf dieser exemplarischen Vorgehensweise führen Sie folgende Aufgaben aus:

  • Erstellen eines WPF-Projekts

  • Interpretieren einer Ausnahme

  • Interpretieren einer Ausnahme von einem untergeordneten Steuerelement

Anschließend wissen Sie, wie Ausnahmen interpretiert werden, die während der XAML-Analyse auftreten.

Tipp

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

  • Visual Studio 2010.

Erstellen des Projekts

Zunächst muss das Projekt für die Anwendung erstellt werden.

So erstellen Sie das Projekt

  1. Erstellen Sie ein neues WPF-Anwendungsprojekt in Visual Basic oder Visual C# mit dem Namen DebuggingExample. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines neuen WPF-Anwendungsprojekts.

    Die Datei "MainWindow.xaml" wird im WPF-Designer geöffnet.

  2. Legen Sie in der XAML-Ansicht die Background-Eigenschaft des Fensters auf "Azure" fest.

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

    In der Entwurfsansicht wird die Hintergrundfarbe für das Fenster aktualisiert.

  3. Ändern Sie "Azure" in "Azurer", und klicken Sie in die Entwurfsansicht.

    In der Entwurfsansicht wird folgende Meldung angezeigt: "Das Dokument enthält Fehler. Diese müssen behoben werden, bevor der Designer aktualisiert werden kann. Klicken Sie hier, um die Fehlerliste zu öffnen."

    Außerdem wird im Fenster Fehlerliste die Fehlermeldung "Ungültiges Token" angezeigt.

  4. Wählen Sie im Menü Debuggen die Option Debuggen starten.

    Die Anwendung wird gestartet, die XAML-Ansicht wird geöffnet, und das Dialogfeld Ausnahmen-Assistent wird angezeigt, wie in der folgenden Abbildung dargestellt.

    Ausnahmen-Assistent mit einem XAML-Analysefehler

    Hinweis   Wenn die XAML-Ansicht beim Anzeigen des Ausnahmen-Assistenten nicht geöffnet wird, deaktivieren Sie die Debugoption Nur mein Code. Weitere Informationen finden Sie unter Gewusst wie: Einzelschritte in "Nur mein Code".

Interpretieren der Ausnahme

Bei der Ausnahme handelt es sich um einen XAML-Analysefehler. Das Dialogfeld Ausnahmen-Assistent enthält Informationen über den Fehler, die Sie zur Interpretation der Ursache verwenden können.

So interpretieren Sie die Ausnahme

  1. Klicken Sie im Dialogfeld Ausnahmen-Assistent auf den Link Details anzeigen....

    Das Dialogfeld Details anzeigen wird geöffnet.

  2. Erweitern Sie im Abschnitt Ausnahmemomentaufnahme das System.Windows.Markup.XamlParseException-Element.

    Das LineNumber-Element zeigt 3 an, und das LinePosition-Element zeigt 5 an.

  3. Klicken Sie auf das Element Meldung.

  4. Am Ende der Zeile wird eine Schaltfläche mit einem nach unten weisenden Pfeil angezeigt. Klicken Sie auf die Schaltfläche mit dem nach unten weisenden Pfeil, um die gesamte Fehlermeldung anzuzeigen, wie in der folgenden Abbildung dargestellt.

    Ausnahmen-Assistent mit einem XAML-Analysefehler

    Die Meldung lautet folgendermaßen: "Der Wert im Attribut 'Background' kann nicht in ein Objekt vom Typ 'System.Windows.Media.Brush' konvertiert werden. Token ist ungültig. Fehler in Objekt 'DebuggingExample.MainWindow' in Markupdatei 'DebuggingExample;component/MainWindow.xaml', Zeile 3, Position 5."

  5. Diese Ausnahme beschreibt einen XAML-Analysefehler, der in der Datei MainWindow.xaml in Zeile 5 aufgetreten ist.

    Die Ausnahme wird ausgelöst, da die Zeichenfolge "Azurer" von TypeConverter für Brush nicht in ein Brush-Objekt konvertiert werden konnte.

  6. Klicken Sie auf OK, um das Dialogfeld Details anzeigen zu schließen.

  7. Klicken Sie auf OK, um das Dialogfeld Ausnahmen-Assistent zu schließen.

  8. Wählen Sie im Menü Debuggen die Option Debuggen beenden aus.

Erstellen des UserControl-Projekts

Mithilfe des Dialogfelds Ausnahmen-Assistent können Sie Fehler interpretieren, die von einem Steuerelement in einer separaten Assembly ausgelöst werden.

So erstellen Sie das Projekt

  1. Ändern Sie den Wert der Background-Eigenschaft in der XAML-Ansicht zurück in "Azure".

  2. Fügen Sie der Projektmappe ein neues WPF-Benutzersteuerelementbibliothek-Projekt mit dem Namen DemoControlLibrary hinzu. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines WPF-UserControl-Bibliotheksprojekts.

    UserControl1.xaml wird im WPF-Designer geöffnet.

  3. Legen Sie in der XAML-Ansicht die Background-Eigenschaft des Fensters auf "Plum" fest.

    <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>
    
  4. Erstellen Sie die Projektmappe.

  5. Fügen Sie im Projektmappen-Explorer im DebuggingExample-Projekt einen Verweis auf das DemoControlLibrary-Projekt hinzu.

  6. Öffnen Sie im WPF-Designer die Datei MainWindow.xaml.

  7. Ordnen Sie den DemoControlLibrary-Namespace zu, indem Sie das folgende XAML in das <Window>-Starttag einfügen. Weitere Informationen finden Sie unter Gewusst wie: Importieren eines Namespace in XAML.

    xmlns:d="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
    
  8. Fügen Sie nach dem <Grid>-Starttag das folgende XAML ein.

    <d:UserControl1 />
    

    Die Entwurfsansicht wird auf die neue Hintergrundfarbe aktualisiert.

  9. Öffnen Sie die Datei UserControl1.xaml im WPF-Designer.

  10. Ändern Sie in der XAML-Ansicht "Plum" in "Plumr".

  11. Wählen Sie im Menü Debuggen die Option Debuggen starten.

    Die Anwendung wird gestartet, die XAML-Ansicht wird mit UserControl1.xaml geöffnet, und das Dialogfeld Ausnahmen-Assistent wird angezeigt.

    Hinweis   Wenn die XAML-Ansicht beim Anzeigen des Ausnahmen-Assistenten nicht geöffnet wird, deaktivieren Sie die Debugoption Nur mein Code. Weitere Informationen finden Sie unter Gewusst wie: Einzelschritte in "Nur mein Code".

Nächste Schritte

  • Sie können XAML-Analysefehler zur Entwurfszeit auch im Fenster Fehlerliste anzeigen. Weitere Informationen finden Sie unter XAML-Fehler und Hilfe.

Siehe auch

Konzepte

XAML-Fehler und Hilfe

Ausnahmebehandlung (Debuggen)

Exemplarische Vorgehensweise: Erstellen einer einfachen WPF-Anwendung mit dem WPF-Designer

Weitere Ressourcen

Referenz zu Fehlermeldungen für den WPF-Designer

Debuggen in Visual Studio

Arbeiten mit Steuerelementen im WPF-Designer