2

Тесты ПУЭ на Xamarin часть 2

Начало: Тесты ПУЭ на Xamarin

Корневая страница приложения содержит ToolbarItem (кнопка "Настройки"), несколько Label и MyLabel и кнопку "Следующий вопрос". Четыре объекта MyLabel с вариантами ответов размещены внутри объекта ScrollView. Всё это сориентировано вертикально. Также в файле определён словарь ресурсов - это три конвертера используемых в привязках (Binding) и пара стилей определяющих внешний вид некоторых Label и Frame.

Конвертеры собраны в отдельном файле Converters.

Экземпляр конвертера PlusOdin имеет ключ PlusOdin_ и используется в привязке к свойству Text объекта Label отображающего номер вопроса. Для номера вопроса я использую номер элемента в массиве, поэтому потребовался этот конвертер. Возможно это лютый трэш )


Экземпляр конвертера IsGreaterZero имеет ключ IsGreaterZero_ и привязан к свойству BorderColor объекта Frame внутри которого размещён Label с текстом вопроса. Эта привязка определяет цвет рамки вокруг вопроса. Если вопрос из списка чаще показываемых, то рамка - красная, иначе - зелёная.


Экземпляр конвертера StringToBool с ключом StringToBool_ нужен для изменения свойства IsVisible объекта Frame в котором отображается текст четвёртого варианта ответа. К этому свойству, в свою очередь привязано свойство IsVisible вложенного объекта MyLabel. Ответов бывает 3, поэтому Frame и MyLabel четвёртого ответа при трёх ответах отображать не требуется.

Каждый вариант ответа размещён в объекте MyLabel. К свойству Text этого объекта привязан текст варианта ответа. К свойству isAnswer привязано значение типа bool определяющее верный этот вариант или нет. Таких объектов четыре.

Контекст привязок - это класс MyView. Этот класс унаследован от INotifyPropertyChanged. Когда требуется оповестить систему об изменении какого - либо свойства этого класса, вызывается метод OnPropertyChanged с названием изменившегося свойства в качестве параметра. Затем система изменяет привязки.

Android Developers

90 постов2K подписчиков

Правила сообщества

Друзья!


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

(освоить Java / покормить кота / установить студию), но и реальные примеры того, что Вы описываете.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества