#27 C# WPF UI - Переходы к контентным страницам
00:07 Введение и обновления • Обсуждение изменения страниц в приложении. • Упоминание об обновлениях в средстве изменения размера окна и переменной DPI scale. • Необходимость .NET Framework версии 4.6.2 для использования переменной DPI scale. 01:00 Настройка привязки ввода • Добавление привязки для выполнения действия при нажатии на элемент списка чатов. • Привязка мыши с действием «щелчок левой кнопкой мыши» к команде Open message. 02:16 Создание команды Open message • Создание общедоступной команды Open message для открытия текущего потока сообщений. • Проблемы с пользовательским конструктором после обновления Visual Studio. 04:35 Обработка команды • Проверка работы команды при нажатии на элемент списка чатов. • Загрузка модели представления элемента списка чатов. 05:32 Передача модели представления • Переопределение страницы чата и передача новой модели представления списка сообщений чата. • Создание фиктивных данных для сообщений: сообщение, время отправки, имя отправителя, аватарка. 07:35 Привязка к модели представления • Передача базовой модели представления на страницу. • Обновление текущей страницы и привязка к модели представления. 10:58 Работа с хостом страницы • Привязка к хосту страницы главного окна. • Добавление свойства зависимости для текущей модели представления страницы. 12:57 Исправление привязки • Изменение привязки для получения текущей модели представления страницы. • Проверка работы привязок после сборки проекта. 14:29 Принудительное значение • Создание обратного вызова принудительного значения для срабатывания события при каждом изменении значения. • Получение текущих значений через объект зависимости. 16:17 Установка текущей страницы • Передача свойства текущей страницы объекта зависимости. • Проверка срабатывания события при установке новой страницы. • Обнаружение проблемы с привязкой: текущая страница и модель представления равны null. 17:10 Исправление привязки • Изменение типа свойства зависимости на страницу приложения. • Обновление значения свойства для корректной работы. • Повторная проверка установки модели представления. 18:30 Проверка модели представления • Подтверждение установки модели представления. • Обнаружение проблемы с привязкой текущей модели представления страницы. • Переход к главному окну для проверки состояния модели представления. 20:01 Настройка модели представления по умолчанию • Установка модели представления без чата по умолчанию. • Исправление типа свойства текущей модели представления страницы. • Удаление ненужного теста для проверки установки значения. 21:55 Создание конвертера значений • Создание конвертера значений для новой страницы приложения. • Передача модели представления текущей страницы в конвертер. • Проверка работы конвертера. 23:05 Работа с контекстом данных • Настройка контекста данных для элемента управления списком сообщений чата. • Передача модели представления на страницу чата. • Использование IOC для создания и привязки моделей представления. 27:03 Передача конкретной модели представления • Добавление параметра для передачи конкретной модели представления. • Установка модели представления в зависимости от переданного параметра. • Передача конкретной модели представления на базовую страницу и страницу чата. 28:57 Решение проблем с конструкторами • Добавление двух конструкторов для базовой страницы. • Устранение ошибок, связанных с атрибутом name и конструкторами. • Проверка работы привязки страницы чата после всех изменений. 31:28 Настройка параметров и модели представления • Параметр сначала равен null, но при нажатии появляются параметры: список сообщений чата и модель представления. • Конкретная модель представления устанавливается, если она не равна null. • Обсуждается проблема с прокруткой и отсутствием полосы прокрутки. 32:26 Проблемы с анимацией и загрузкой страниц • При нажатии на «Новый сервер» загружаются новые серверы, но анимация неправильная. • Страница то появляется, то исчезает. • Исправляется опечатка в анимации выгрузки страницы. 34:12 Логика загрузки страниц • Если имя пользователя «Джесси», загружается страница входа. • В остальных случаях загружается страница чата. • Планируется исправление проблем с прокруткой и анимацией в отдельных видео. 35:58 Оптимизация загрузки страницы чата • Добавляется логика для обновления модели представления без перезагрузки всей страницы. • Если текущая страница совпадает с новой, обновляется только модель представления. • Исправляется проблема с анимацией бокового меню. 39:56 Работа с моделью представления 43:09 Тестирование и завершение 45:01 Передача модели представления 45:56 Конструктор с моделью представления 46:15 Передача модели представления 47:11 Проблема с моделью представления 49:03 Исправление проверки текущей страницы 50:22 Преобразование конвертера в вспомогательный класс 54:21 Вспомогательный метод для преобразования страниц 56:24 Проверка и обновление модели представления 57:10 Демонстрация работы навигации 58:10 Заключение
00:07 Введение и обновления • Обсуждение изменения страниц в приложении. • Упоминание об обновлениях в средстве изменения размера окна и переменной DPI scale. • Необходимость .NET Framework версии 4.6.2 для использования переменной DPI scale. 01:00 Настройка привязки ввода • Добавление привязки для выполнения действия при нажатии на элемент списка чатов. • Привязка мыши с действием «щелчок левой кнопкой мыши» к команде Open message. 02:16 Создание команды Open message • Создание общедоступной команды Open message для открытия текущего потока сообщений. • Проблемы с пользовательским конструктором после обновления Visual Studio. 04:35 Обработка команды • Проверка работы команды при нажатии на элемент списка чатов. • Загрузка модели представления элемента списка чатов. 05:32 Передача модели представления • Переопределение страницы чата и передача новой модели представления списка сообщений чата. • Создание фиктивных данных для сообщений: сообщение, время отправки, имя отправителя, аватарка. 07:35 Привязка к модели представления • Передача базовой модели представления на страницу. • Обновление текущей страницы и привязка к модели представления. 10:58 Работа с хостом страницы • Привязка к хосту страницы главного окна. • Добавление свойства зависимости для текущей модели представления страницы. 12:57 Исправление привязки • Изменение привязки для получения текущей модели представления страницы. • Проверка работы привязок после сборки проекта. 14:29 Принудительное значение • Создание обратного вызова принудительного значения для срабатывания события при каждом изменении значения. • Получение текущих значений через объект зависимости. 16:17 Установка текущей страницы • Передача свойства текущей страницы объекта зависимости. • Проверка срабатывания события при установке новой страницы. • Обнаружение проблемы с привязкой: текущая страница и модель представления равны null. 17:10 Исправление привязки • Изменение типа свойства зависимости на страницу приложения. • Обновление значения свойства для корректной работы. • Повторная проверка установки модели представления. 18:30 Проверка модели представления • Подтверждение установки модели представления. • Обнаружение проблемы с привязкой текущей модели представления страницы. • Переход к главному окну для проверки состояния модели представления. 20:01 Настройка модели представления по умолчанию • Установка модели представления без чата по умолчанию. • Исправление типа свойства текущей модели представления страницы. • Удаление ненужного теста для проверки установки значения. 21:55 Создание конвертера значений • Создание конвертера значений для новой страницы приложения. • Передача модели представления текущей страницы в конвертер. • Проверка работы конвертера. 23:05 Работа с контекстом данных • Настройка контекста данных для элемента управления списком сообщений чата. • Передача модели представления на страницу чата. • Использование IOC для создания и привязки моделей представления. 27:03 Передача конкретной модели представления • Добавление параметра для передачи конкретной модели представления. • Установка модели представления в зависимости от переданного параметра. • Передача конкретной модели представления на базовую страницу и страницу чата. 28:57 Решение проблем с конструкторами • Добавление двух конструкторов для базовой страницы. • Устранение ошибок, связанных с атрибутом name и конструкторами. • Проверка работы привязки страницы чата после всех изменений. 31:28 Настройка параметров и модели представления • Параметр сначала равен null, но при нажатии появляются параметры: список сообщений чата и модель представления. • Конкретная модель представления устанавливается, если она не равна null. • Обсуждается проблема с прокруткой и отсутствием полосы прокрутки. 32:26 Проблемы с анимацией и загрузкой страниц • При нажатии на «Новый сервер» загружаются новые серверы, но анимация неправильная. • Страница то появляется, то исчезает. • Исправляется опечатка в анимации выгрузки страницы. 34:12 Логика загрузки страниц • Если имя пользователя «Джесси», загружается страница входа. • В остальных случаях загружается страница чата. • Планируется исправление проблем с прокруткой и анимацией в отдельных видео. 35:58 Оптимизация загрузки страницы чата • Добавляется логика для обновления модели представления без перезагрузки всей страницы. • Если текущая страница совпадает с новой, обновляется только модель представления. • Исправляется проблема с анимацией бокового меню. 39:56 Работа с моделью представления 43:09 Тестирование и завершение 45:01 Передача модели представления 45:56 Конструктор с моделью представления 46:15 Передача модели представления 47:11 Проблема с моделью представления 49:03 Исправление проверки текущей страницы 50:22 Преобразование конвертера в вспомогательный класс 54:21 Вспомогательный метод для преобразования страниц 56:24 Проверка и обновление модели представления 57:10 Демонстрация работы навигации 58:10 Заключение




