Отладка или отключение кода проекта в конструкторе XAML
Во многих случаях необработанные исключения в конструкторе XAML могут вызываться попыткой кода проекта получить доступ к свойствам или методам, которые возвращают другие значения или работают по-другому, если приложение выполняется в конструкторе. Эти исключения можно устранить, отладив код проекта в другом экземпляре Visual Studio, или временно предотвратить их путем отключения кода проекта в конструкторе.
Код проекта включает следующие объекты:
настраиваемые элементы управления и пользовательские элементы управления;
Библиотеки классов
преобразователи значений;
привязки данных времени разработки, созданные из кода проекта.
При отключении кода проекта в Visual Studio отображаются заполнители. Например, в Visual Studio отображаются имя свойства для привязки, где данные больше не доступны, или заполнитель для элемента управления, который больше не выполняется.
Как определить, вызвано ли исключение кодом проекта
В диалоговом окне необработанного исключения нажмите ссылку Щелкните здесь для перезагрузки конструктора .
В строке меню последовательно выберите пункты Отладка>Начать отладку, чтобы выполнить сборку приложения и запустить его.
Если сборка и запуск приложения выполнились успешно, исключение времени разработки могло быть вызвано кодом проекта, запущенного в конструкторе.
Отладка кода проекта, запущенного в конструкторе
В диалоговом окне необработанного исключения нажмите ссылку Щелкните здесь для отключения работающего кода проекта и перезагрузки конструктора .
В диспетчере задач Windows нажмите кнопку Завершить задачу , чтобы закрыть все экземпляры конструктора XAML Visual Studio, работающие в данный момент.
В Visual Studio откройте страницу XAML, содержащую код или элемент управления, который требуется отладить.
Откройте новый экземпляр Visual Studio, а затем второй экземпляр вашего проекта.
Установите точку останова в коде проекта.
В новом экземпляре Visual Studio в строке меню последовательно выберите пункты Отладка>Присоединить к процессу.
В диалоговом окне "Присоединение к процессу" в списке доступных процессов выберите процесс, соответствующий версии Visual Studio, которую вы используете, и платформу, для которую вы разрабатываете (см. следующую таблицу), а затем нажмите кнопку "Присоединить".
Версия Visual Studio Платформа Имя процесса 2017–2022 приложения универсальной платформы Windows; UwpSurface.exe 2017–2022 Приложения WPF Core WpfSurface.exe Только 2019 г. Платформа WPF xDesProc.exe Только 2022 Платформа WPF WpfSurface.exe Важно!
В Visual Studio 2019 это wpfSurface.exe, если новый конструктор XAML WPF включен в функции предварительной версии среды>параметров>инструментов.>
В первом экземпляре Visual Studio в строке меню последовательно выберите пункты Отладка>Начать отладку.
Теперь можно выполнить пошаговую отладку кода, работающего в конструкторе.
Отключение кода проекта в конструкторе
В диалоговом окне необработанного исключения нажмите ссылку Щелкните здесь для отключения работающего кода проекта и перезагрузки конструктора .
Или же можно нажать кнопку Отключить код проекта на панели инструментов в конструкторе XAML.
Вы можете нажать эту кнопку еще раз, чтобы включить код проекта.
Примечание.
Для проектов, предназначенных для процессоров ARM или X64, Visual Studio не может запустить код проекта в конструкторе, поэтому кнопка Отключить код проекта в конструкторе будет неактивна.
Оба варианта приводят к перезагрузке конструктора, после чего отключается весь код для соответствующего проекта.
Примечание.
Отключение кода проекта может привести к потере данных времени разработки. Другой путь заключается в отладке кода, выполняемого в конструкторе.
Параметры отображения элементов управления
Примечание.
Функция Control Display Options (Параметры отображения элементов управления) доступна только для приложений универсальной платформы Windows, предназначенных для Windows 10 Fall Creators Update (сборка 16299) или более поздней версии. Функция Control Display Options (Параметры отображения элементов управления) доступна в Visual Studio 2017 версии 15.9 или более поздней.
В конструкторе XAML можно изменить параметры отображения элементов управления, чтобы отображать только элементы управления платформы из пакета Windows SDK. Это может повысить надежность конструктора XAML.
Чтобы изменить параметры отображения элементов управления, щелкните значок в левом нижнем углу окна конструктора и выберите параметр в группе Control Display Options (Параметры отображения элементов управления):
Если выбрать настройку Only Display Platform Controls (Отображать только элементы управления платформы), то набор элементов управления из пакетов SDK, пользовательских и других элементов управления будет отображаться не полностью. Вместо этого они будут заменены резервными элементами управления для демонстрации размера и положения соответствующих элементов.