我在Maui应用的每个ContentPage顶部添加了一个简单的图标+文本。我希望图标的颜色根据当前的AppTheme进行更改我在这个shell应用的导航标签中使用了相同的图标。当标签被选中或取消选中时,这些图标的颜色会发生变化,并且这些颜色会根据应用主题而变化。这是自动发生的,而不需要我编写代码的行为。我还没有能够找到一种方法来模仿这种行为的图标在页面的顶部。我试图避免创建多个图标图像文件的不同颜色。
我正在为我的一个导航标签使用工具箱图标。当AppTheme为Light且未选中该图标时,该图标为黑色
,当选中该图标时,该图标为蓝色
。当AppTheme为Dark时,该图标始终为白色。这将在shell应用程序中自动为我处理。
如果我在标题栏(例如设置Shell.TitleView)或其他类型的视图中使用此图标颜色,而不创建黑色、蓝色和白色工具箱图像文件,我如何为该图标颜色创建相同的行为?
2条答案
按热度按时间qgelzfjb1#
社区工具包IconTintColorBehavior可以改变图片的颜色(着色),你可以使用绑定来改变图片的颜色,使之与主题相适应(就像this问题中那样)。
所以你会得到这样的结果:
3mpgtkmj2#
我建议使用字体格式的图标(.ttf等),这样你就可以避免创建不同颜色的图像,颜色的处理和文本的处理是一样的,这也包括大小。这里有一个例子:https://youtu.be/rYdJP2t7foU