如何在Xamarin窗体中同时更改多个标签的文本颜色

本文关键字:标签 颜色 文本 Xamarin 窗体 | 更新日期: 2023-09-27 18:13:24

我在Grid中有多个Label s,它们位于不同的网格行和列中。每当我在设置中选择不同的主题颜色时,我想将所有标签的字体颜色更改为一种颜色。目前我在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,则此代码可能更长。有没有办法在一行中完成这个?

如何在Xamarin窗体中同时更改多个标签的文本颜色

你的问题已经导致了正确的假设,你不应该对每个视图元素都这样做。

如果您能够使用2.3预览版,它内置了对主题的支持,请查看文档。

在2.3版本之前,您可以使用ControlTemplate s,在这里可以找到一个很好的示例。

Edit:如果你的目标不是整个应用的主题,你可以在你熟悉的视图模型中绑定一个颜色,通过改变那个颜色,标签颜色会适应它。我想这可能更接近单行的方法。