#26 C# WPF UI - Продвинутый элемент управления редактированием пароля
00:08 Завершение настройки страницы • Настройка страницы и выравнивание текста завершены. • Создано представление и настроено редактирование текста. 00:17 Добавление полей для пароля • Необходимо добавить поле для текущего пароля, поле для нового пароля и поле для подтверждения пароля. • Также планируется добавить кнопку выхода из системы. 01:13 Клонирование и переименование элемента управления • Клонируем элемент управления вводом текста и переименовываем его в элемент управления вводом пароля. • Изменяем конструктор и свойства зависимостей. 02:22 Настройка модели представления • Переименовываем элемент управления вводом текста в модели представления в элемент управления вводом пароля. • Добавляем метки для исходного, отредактированного и подтверждённого паролей. 04:07 Проверка паролей • Создаём строку для отображения поддельного пароля из восьми звёздочек. • Проверяем правильность текущего пароля и совпадение нового и подтверждённого паролей. 08:13 Локализация и сообщения • Обсуждается необходимость локализации для поддержки разных языков. • Выводим сообщение о недействительном пароле при несовпадении. 10:14 Обновление исходного пароля • Обновляем исходный пароль, присваивая ему значение отредактированного пароля. • Создаём глубокую копию каждого символа отредактированного пароля для предотвращения изменений исходного пароля. 16:04 Привязка элементов управления • Привязываем поле для ввода пароля и текстовое поле. • Изменяем базовую модель представления настроек для ввода пароля. • Убираем звёздочки из модели представления для ввода пароля. 17:36 Привязка данных в модели представления • Данные указываются в двух местах: в модели представления и в реальном месте. • Во время разработки используется поддельный дизайн для проверки привязки. • Проверяется работа привязки текста к фейковому паролю. 18:33 Поддельный дизайн в модели представления настроек • Модель представления настроек создаёт новую модель представления с поддельным дизайном. • На странице настроек также отображается поддельный дизайн. • Привязка текста к фейковому паролю подтверждает работу системы. 20:28 Создание полей для ввода пароля • Создаются поля для текущего, нового и подтверждения пароля. • При двойном щелчке выбирается только первое поле. • Поля размещаются в сетке с автоматическим подстраиванием под размер. 22:14 Настройка подсказок и локализации • Добавляются подсказки для текущего, нового и подтверждения пароля. • Задаются значения по умолчанию для полей. • Планируется добавление локализации для многоязычного приложения. 25:03 Тестирование логики ввода пароля • Проверяется работа логики ввода пароля при двойном щелчке. • Обнаруживается ошибка в расположении строк. • Тестируется взаимодействие с кнопками «Enter» и «Escape». 28:51 Привязка элементов управления к защищённому тексту • Обсуждается привязка элементов управления к защищённому тексту. • Рассматривается возможность обновления модели представления при изменении пароля. • Объясняется безопасность хранения паролей в оперативной памяти. 32:22 Обновление модели представления • Обновляются значения модели представления при изменении пароля. • Подчёркивается важность обновления защищённого пароля каждый раз при изменении. • Проверяется корректность работы системы после обновления. 35:12 Проверка пароля • Установка точки останова и проверка пароля. • Ввод «test» без «G» приводит к ошибке. • При вводе «G» и «ABC D E F» появляется сообщение о несоответствии символов. • Подтверждение пароля «ABC ABC» проходит проверку. 36:10 Обновление пароля • Обсуждение необходимости обновления пароля через сервер. • Текущий пароль «ABC» совпадает с подтверждённым. • Удаление ненужного кода для демонстрации работы системы. 37:04 Проверка наличия пароля • Добавление проверки на наличие пароля. • Пустой пароль недопустим. • Проверка длины поля пароля для отображения предупреждения. 39:02 Кнопка выхода из системы • Размещение кнопки выхода из системы в сетке. • Проблемы с отображением кнопки и необходимость очистки проекта. • Перезапуск Visual Studio и очистка проекта для исправления отображения кнопки. 42:19 Привязка кнопки выхода • Задание текста кнопки выхода из системы. • Создание команды для выхода из системы. • Подтверждение выхода из системы через диалоговое окно. 44:29 Очистка данных при выходе из системы • Очистка пользовательских данных и кэша. • Очистка моделей представлений на уровне приложения. • Перенос установки данных пользователя на момент входа в систему. 47:53 Функция очистки данных 49:16 Настройка кнопки выхода из системы 50:00 Реализация команды logout 51:00 Проверка работы системы входа и выхода 52:02 Настройка отображения страниц 53:09 Обработка времени входа и выхода 55:17 Настройка отображения информации по умолчанию 57:02 Реализация всплывающей подсказки 59:50 Завершение работы над диалоговым окном ввода пароля
00:08 Завершение настройки страницы • Настройка страницы и выравнивание текста завершены. • Создано представление и настроено редактирование текста. 00:17 Добавление полей для пароля • Необходимо добавить поле для текущего пароля, поле для нового пароля и поле для подтверждения пароля. • Также планируется добавить кнопку выхода из системы. 01:13 Клонирование и переименование элемента управления • Клонируем элемент управления вводом текста и переименовываем его в элемент управления вводом пароля. • Изменяем конструктор и свойства зависимостей. 02:22 Настройка модели представления • Переименовываем элемент управления вводом текста в модели представления в элемент управления вводом пароля. • Добавляем метки для исходного, отредактированного и подтверждённого паролей. 04:07 Проверка паролей • Создаём строку для отображения поддельного пароля из восьми звёздочек. • Проверяем правильность текущего пароля и совпадение нового и подтверждённого паролей. 08:13 Локализация и сообщения • Обсуждается необходимость локализации для поддержки разных языков. • Выводим сообщение о недействительном пароле при несовпадении. 10:14 Обновление исходного пароля • Обновляем исходный пароль, присваивая ему значение отредактированного пароля. • Создаём глубокую копию каждого символа отредактированного пароля для предотвращения изменений исходного пароля. 16:04 Привязка элементов управления • Привязываем поле для ввода пароля и текстовое поле. • Изменяем базовую модель представления настроек для ввода пароля. • Убираем звёздочки из модели представления для ввода пароля. 17:36 Привязка данных в модели представления • Данные указываются в двух местах: в модели представления и в реальном месте. • Во время разработки используется поддельный дизайн для проверки привязки. • Проверяется работа привязки текста к фейковому паролю. 18:33 Поддельный дизайн в модели представления настроек • Модель представления настроек создаёт новую модель представления с поддельным дизайном. • На странице настроек также отображается поддельный дизайн. • Привязка текста к фейковому паролю подтверждает работу системы. 20:28 Создание полей для ввода пароля • Создаются поля для текущего, нового и подтверждения пароля. • При двойном щелчке выбирается только первое поле. • Поля размещаются в сетке с автоматическим подстраиванием под размер. 22:14 Настройка подсказок и локализации • Добавляются подсказки для текущего, нового и подтверждения пароля. • Задаются значения по умолчанию для полей. • Планируется добавление локализации для многоязычного приложения. 25:03 Тестирование логики ввода пароля • Проверяется работа логики ввода пароля при двойном щелчке. • Обнаруживается ошибка в расположении строк. • Тестируется взаимодействие с кнопками «Enter» и «Escape». 28:51 Привязка элементов управления к защищённому тексту • Обсуждается привязка элементов управления к защищённому тексту. • Рассматривается возможность обновления модели представления при изменении пароля. • Объясняется безопасность хранения паролей в оперативной памяти. 32:22 Обновление модели представления • Обновляются значения модели представления при изменении пароля. • Подчёркивается важность обновления защищённого пароля каждый раз при изменении. • Проверяется корректность работы системы после обновления. 35:12 Проверка пароля • Установка точки останова и проверка пароля. • Ввод «test» без «G» приводит к ошибке. • При вводе «G» и «ABC D E F» появляется сообщение о несоответствии символов. • Подтверждение пароля «ABC ABC» проходит проверку. 36:10 Обновление пароля • Обсуждение необходимости обновления пароля через сервер. • Текущий пароль «ABC» совпадает с подтверждённым. • Удаление ненужного кода для демонстрации работы системы. 37:04 Проверка наличия пароля • Добавление проверки на наличие пароля. • Пустой пароль недопустим. • Проверка длины поля пароля для отображения предупреждения. 39:02 Кнопка выхода из системы • Размещение кнопки выхода из системы в сетке. • Проблемы с отображением кнопки и необходимость очистки проекта. • Перезапуск Visual Studio и очистка проекта для исправления отображения кнопки. 42:19 Привязка кнопки выхода • Задание текста кнопки выхода из системы. • Создание команды для выхода из системы. • Подтверждение выхода из системы через диалоговое окно. 44:29 Очистка данных при выходе из системы • Очистка пользовательских данных и кэша. • Очистка моделей представлений на уровне приложения. • Перенос установки данных пользователя на момент входа в систему. 47:53 Функция очистки данных 49:16 Настройка кнопки выхода из системы 50:00 Реализация команды logout 51:00 Проверка работы системы входа и выхода 52:02 Настройка отображения страниц 53:09 Обработка времени входа и выхода 55:17 Настройка отображения информации по умолчанию 57:02 Реализация всплывающей подсказки 59:50 Завершение работы над диалоговым окном ввода пароля




