#c# #xamarin.forms
#c# #xamarin.forms
Вопрос:
У меня есть несколько Label
s внутри a Grid
, которые находятся в разных строках и столбцах сетки. Я хочу изменить весь цвет шрифта метки только на один цвет всякий раз, когда я выбираю другой цвет темы в своих настройках. На данный момент у меня есть следующий код на C#:
correctLabel.TextColor = Color.Black;
textLabel.TextColor = Color.Black;
emptyLabel.TextColor = Color.Black;
detail1.TextColor = Color.Black;
detail2.TextColor = Color.Black;
detail3.TextColor = Color.Black;
Как вы можете видеть, этот код мог бы быть длиннее, если бы я решил добавить больше Label
символов. Есть ли способ сделать это в одной строке?
Ответ №1:
Ваш вопрос уже приводит к правильному предположению, вы не должны делать это для каждого элемента представления.
Если вы можете использовать предварительный просмотр 2.3, есть встроенная поддержка тем, ознакомьтесь с документами.
До версии 2.3 pre вы могли использовать ControlTemplate
s, хороший пример можно найти здесь.
Редактировать: если вы не хотите создавать тему для всего приложения, вы можете привязаться к цвету в вашей модели представления, с которым вы знакомы, и, изменив этот цвет, цвета меток адаптируют его. Я думаю, может быть, это ближе к однострочному подходу.