#28 C# WPF UI - Отладка приложения в реальном мире
00:07 Введение и цели видео • Автор планирует исправить мелкие баги в приложении. • Обсуждаются проблемы с обновлением страниц и отсутствием полосы прокрутки. • Упоминается желание добавить плавное появление элементов. 01:00 Исправление ошибок • Исправлена ошибка с элементом управления для ввода пароля, который не регулировался в регуляторе ширины. • Решена проблема с невозможностью свернуть приложение при развёртывании на весь экран. 02:56 Работа с датами в чате • Даты в чате становятся видимыми при наведении курсора. • Исправлено начальное состояние элементов: даты должны быть невидимыми по умолчанию. 04:50 Анализ проблемы с полосой прокрутки • Удаление стилей для полосы прокрутки помогает выявить проблему. • Изменение цвета фона бегунка полосы прокрутки для улучшения видимости. • Уменьшение границы изменения размера для удобства наведения курсора. 08:36 Настройка шаблона ScrollViewer • Получение шаблона элемента управления ScrollViewer для стилизации. • Переопределение шаблона по умолчанию и изменение непрозрачности полос прокрутки. • Добавление анимации для плавного появления полос прокрутки при наведении курсора. 14:03 Завершение работы с полосой прокрутки • Полосы прокрутки теперь появляются при наведении курсора на контент. • Проблема с полосами прокрутки решена. 14:18 Плавное появление элементов • Обсуждение необходимости плавного появления элементов при обновлении модели представления. • Создание защищённого виртуального метода для анимации на базовой странице. • Метод будет реагировать на обновление модели представления и вызывать соответствующую анимацию. 15:18 Переопределение метода on view model changed • Метод on view model changed запускается при изменении модели представления. • По умолчанию метод ничего не делает. • При изменении модели представления вызывающие объекты получают уведомление. 16:27 Проверка работы метода • Переопределённый метод view model changed срабатывает при каждом изменении модели представления на странице чата. • Точка останова подтверждает срабатывание метода. 17:02 Анимация элементов страницы чата • Планируется добавить анимацию постепенного появления элементов страницы чата. • Проблема с нулевым значением списка сообщений чата решается проверкой существования пользовательского интерфейса. 18:51 Решение проблемы с анимацией • Проверка существования пользовательского интерфейса перед анимацией решает проблему с нулевым значением. • Анимация появляется при загрузке страницы, обеспечивая плавную загрузку интерфейса. 20:38 Прокрутка до конца при изменении контекста данных • При изменении контекста данных элемент управления элементами прокручивается до конца. • Используется ScrollViewer для прокрутки до конца при изменении контекста данных. 25:03 Проверка работы прокрутки • Присоединённое свойство ScrollViewer подключается к событию изменения контекста данных. • ScrollViewer автоматически прокручивается до конца при загрузке нового контента. 26:25 Исправление проблем с контекстным меню • Контекстное меню исчезает при смене вида. • Проблема решается очисткой кеша и перестройкой приложения. 28:26 Проверка работы кнопки прикрепления • Кнопка прикрепления запускает команду, но всплывающее окно не появляется. • Проверка показывает, что физическая часть кнопки работает, но анимация не выполняется. 31:29 Проверка привязки контента • Привязка контента работает корректно, меню вложений меняется при переходе на другую страницу. • Проблема заключается в неработающей анимации. 32:43 Проблема с анимацией меню вложений • Привязка анимации происходит к модели представления страницы, а не к самой странице чата. • Изменение контекста данных элемента управления на меню вложений приводит к тому, что привязка не срабатывает при изменении модели представления. • Проблема возникает из-за использования поиска предка при привязке. 34:01 Решение проблемы с анимацией • Удаление странной анимации и перемещение элементов в рамку для стандартной привязки. • Перемещение сетки и панели внутрь рамки, оставляя контекст данных неизменным. • После исправления проблема с анимацией решается. 36:01 Рекомендации по работе с WPF • Избегание использования find ancestor при привязке, так как это может вызвать проблемы. • Очистка проекта через «Построить и очистить решение» в Visual Studio. • Удаление папок bin, obj и скрытой папки VS для полной очистки проекта. 38:50 Добавление данных времени разработки • Добавление данных времени разработки в базовую модель времени разработки списка сообщений чата. • Компиляция проекта для проверки корректности работы представления. 40:43 Процесс отладки • Удаление стилей и проверка стандартной полосы прокрутки. • Проверка работы команды прикрепления через точки останова. • Устранение проблемы с видимостью меню путём удаления анимации. 41:41 Принципы отладки 42:41 Заключение
00:07 Введение и цели видео • Автор планирует исправить мелкие баги в приложении. • Обсуждаются проблемы с обновлением страниц и отсутствием полосы прокрутки. • Упоминается желание добавить плавное появление элементов. 01:00 Исправление ошибок • Исправлена ошибка с элементом управления для ввода пароля, который не регулировался в регуляторе ширины. • Решена проблема с невозможностью свернуть приложение при развёртывании на весь экран. 02:56 Работа с датами в чате • Даты в чате становятся видимыми при наведении курсора. • Исправлено начальное состояние элементов: даты должны быть невидимыми по умолчанию. 04:50 Анализ проблемы с полосой прокрутки • Удаление стилей для полосы прокрутки помогает выявить проблему. • Изменение цвета фона бегунка полосы прокрутки для улучшения видимости. • Уменьшение границы изменения размера для удобства наведения курсора. 08:36 Настройка шаблона ScrollViewer • Получение шаблона элемента управления ScrollViewer для стилизации. • Переопределение шаблона по умолчанию и изменение непрозрачности полос прокрутки. • Добавление анимации для плавного появления полос прокрутки при наведении курсора. 14:03 Завершение работы с полосой прокрутки • Полосы прокрутки теперь появляются при наведении курсора на контент. • Проблема с полосами прокрутки решена. 14:18 Плавное появление элементов • Обсуждение необходимости плавного появления элементов при обновлении модели представления. • Создание защищённого виртуального метода для анимации на базовой странице. • Метод будет реагировать на обновление модели представления и вызывать соответствующую анимацию. 15:18 Переопределение метода on view model changed • Метод on view model changed запускается при изменении модели представления. • По умолчанию метод ничего не делает. • При изменении модели представления вызывающие объекты получают уведомление. 16:27 Проверка работы метода • Переопределённый метод view model changed срабатывает при каждом изменении модели представления на странице чата. • Точка останова подтверждает срабатывание метода. 17:02 Анимация элементов страницы чата • Планируется добавить анимацию постепенного появления элементов страницы чата. • Проблема с нулевым значением списка сообщений чата решается проверкой существования пользовательского интерфейса. 18:51 Решение проблемы с анимацией • Проверка существования пользовательского интерфейса перед анимацией решает проблему с нулевым значением. • Анимация появляется при загрузке страницы, обеспечивая плавную загрузку интерфейса. 20:38 Прокрутка до конца при изменении контекста данных • При изменении контекста данных элемент управления элементами прокручивается до конца. • Используется ScrollViewer для прокрутки до конца при изменении контекста данных. 25:03 Проверка работы прокрутки • Присоединённое свойство ScrollViewer подключается к событию изменения контекста данных. • ScrollViewer автоматически прокручивается до конца при загрузке нового контента. 26:25 Исправление проблем с контекстным меню • Контекстное меню исчезает при смене вида. • Проблема решается очисткой кеша и перестройкой приложения. 28:26 Проверка работы кнопки прикрепления • Кнопка прикрепления запускает команду, но всплывающее окно не появляется. • Проверка показывает, что физическая часть кнопки работает, но анимация не выполняется. 31:29 Проверка привязки контента • Привязка контента работает корректно, меню вложений меняется при переходе на другую страницу. • Проблема заключается в неработающей анимации. 32:43 Проблема с анимацией меню вложений • Привязка анимации происходит к модели представления страницы, а не к самой странице чата. • Изменение контекста данных элемента управления на меню вложений приводит к тому, что привязка не срабатывает при изменении модели представления. • Проблема возникает из-за использования поиска предка при привязке. 34:01 Решение проблемы с анимацией • Удаление странной анимации и перемещение элементов в рамку для стандартной привязки. • Перемещение сетки и панели внутрь рамки, оставляя контекст данных неизменным. • После исправления проблема с анимацией решается. 36:01 Рекомендации по работе с WPF • Избегание использования find ancestor при привязке, так как это может вызвать проблемы. • Очистка проекта через «Построить и очистить решение» в Visual Studio. • Удаление папок bin, obj и скрытой папки VS для полной очистки проекта. 38:50 Добавление данных времени разработки • Добавление данных времени разработки в базовую модель времени разработки списка сообщений чата. • Компиляция проекта для проверки корректности работы представления. 40:43 Процесс отладки • Удаление стилей и проверка стандартной полосы прокрутки. • Проверка работы команды прикрепления через точки останова. • Устранение проблемы с видимостью меню путём удаления анимации. 41:41 Принципы отладки 42:41 Заключение




