Поделиться через


Пошаговое руководство. Отладка приложения WPF

В данном пошаговом руководстве показано, как отладить простое приложение WPF с помощью конструктора сред. Конструктор WPF. Будет использоваться диалоговое окно Помощник по исправлению ошибок для интерпретации исключений синтаксического анализа XAML.

В данном пошаговом руководстве выполняются следующие задачи.

  • Создание проекта WPF.

  • Интерпретация исключения.

  • Интерпретация исключения, создаваемого дочерним элементом управления.

В результате будет полностью описан процесс интерпретации исключений, происходящих во время синтаксического анализа XAML.

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров.Дополнительные сведения см. в разделе Работа с параметрами.

Обязательные компоненты

Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.

  • Visual Studio 2010.

Создание проекта

Первым этапом является создание проекта для приложения.

Создание проекта

  1. Создайте новый проект приложения WPF на языке Visual Basic или Visual C# с именем DebuggingExample. Дополнительные сведения см. в разделе Практическое руководство. Создание нового проекта приложения WPF.

    Файл MainWindow.xaml будет открыт в сред. Конструктор WPF.

  2. В представлении XAML установите для свойства Background окна значение "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> 
    

    Цвет фона для окна обновляется в представлении конструктора.

  3. Измените "Azure" на "Azurer" и щелкните в представлении конструктора.

    Конструктор выведет сообщение "В документе имеются ошибки, которые должны быть исправлены перед обновлением конструктора. Чтобы открыть список ошибок, щелкните здесь".

    В окне Список ошибок также отображается сообщение об ошибке "Недопустимый маркер".

  4. В меню Отладка выберите команду Начать отладку.

    Запускается приложение, открывается представление XAML и появляется диалоговое окно Помощник по исправлению ошибок, как показано на следующем рисунке.

    Помощник исключений, отображающий ошибку синтаксического анализа XAML

    Примечание.   Если представление XAML не открывается при отображении помощника по исправлению ошибок, отключите параметр отладки Только мой код. Дополнительные сведения см. в разделе Практическое руководство. Переход в пошаговый режим выполнения "Только мой код".

Интерпретация исключения

Исключение — это ошибка синтаксического анализа XAML. В диалоговом окне Помощник по исправлению ошибок отображаются сведения об ошибке, которые можно использовать для интерпретации ее причины.

Интерпретация исключения

  1. В диалоговом окне Помощник по исправлению ошибок щелкните ссылку Просмотр сведений...

    Откроется диалоговое окно Просмотр сведений.

  2. В разделе Снимок исключения разверните элемент System.Windows.Markup.XamlParseException.

    Для элемента LineNumber отображается значение 3, а для элемента LinePosition — значение 5.

  3. Щелкните элемент Message.

  4. В конце строки появится кнопка со стрелкой вниз. Нажмите эту кнопку, чтобы увидеть все сообщение об ошибке, как показано на следующем рисунке.

    Помощник исключений, отображающий ошибку синтаксического анализа XAML

    Сообщение содержит текст: "Не удается преобразовать значение в атрибуте "Background" в объект типа "System.Windows.Media.Brush". Недопустимый маркер. Ошибка в объекте "DebuggingExample.MainWindow" из файла разметки "DebuggingExample;Component/MainWindow.xaml", строка 3, позиция 5".

  5. Это исключение описывает ошибку синтаксического анализа XAML, произошедшую в файле MainWindow.xaml в строке 5.

    Исключение вызвано по той причине, что конвертеру TypeConverter для объекта Brush не удалось преобразовать строку "Azurer" в объект Brush.

  6. Нажмите кнопку OK, чтобы закрыть диалоговое окно Просмотр сведений.

  7. Нажмите кнопку OK, чтобы закрыть диалоговое окно Помощник по исправлению ошибок.

  8. В меню Отладка выберите Остановить отладку.

Создание проекта "UserControl"

Диалоговое окно Помощник по исправлению ошибок можно использовать для интерпретации ошибок, которые создаются элементом управления в отдельной сборке.

Создание проекта

  1. В представлении XAML снова установите для свойства Background значение "Azure".

  2. Добавьте новый проект библиотеки пользовательских элементов управления WPF с именем DemoControlLibrary в решение. Дополнительные сведения см. в разделе Практическое руководство. Создание проекта библиотеки элементов UserControl в WPF.

    В конструкторе сред. Конструктор WPF откроется файл UserControl1.XAML.

  3. В представлении XAML установите для свойства окна Background значение "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>
    
  4. Выполните построение решения.

  5. В обозревателе решений в проекте "DebuggingExample" добавьте ссылку на проект "DemoControlLibrary".

  6. Откройте файл MainWindow.xaml в сред. Конструктор WPF.

  7. Сопоставьте пространство имен "DemoControlLibrary", вставив следующий код XAML в открывающий тег <Window>. Дополнительные сведения см. в разделе Практическое руководство. Импорт пространства имен в XAML.

    xmlns:d="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
    
  8. Вставьте следующий код XAML после открывающего тега <Grid>.

    <d:UserControl1 />
    

    Представление конструктора обновится — изменится цвет фона.

  9. Откройте файл UserControl1.xaml в конструкторе сред. Конструктор WPF.

  10. В представлении XAML измените значение "Plum" на "Plumr".

  11. В меню Отладка выберите команду Начать отладку.

    Запускается приложение, открывается представление XAML для файла UserControl1.xaml и отображается диалоговое окно Помощник по исправлению ошибок.

    Примечание.   Если представление XAML не открывается при отображении помощника по исправлению ошибок, отключите параметр отладки Только мой код. Дополнительные сведения см. в разделе Практическое руководство. Переход в пошаговый режим выполнения "Только мой код".

Следующие действия

  • Также для просмотра ошибок синтаксического анализа XAML во время разработки можно использовать окно Список ошибок. Дополнительные сведения см. в разделе Ошибки XAML и справка.

См. также

Основные понятия

Ошибки XAML и справка

Обработка исключений (отладка)

Пошаговое руководство. Построение простого приложения WPF с помощью конструктора WPF

Другие ресурсы

Справочные сведения о сообщениях об ошибке конструктора WPF

Отладка в Visual Studio

Работа с элементами управления в конструкторе WPF