【问题标题】:.NET MAUI Change Icon Foreground?.NET MAUI 更改图标前景?
【发布时间】:2023-01-17 09:19:13
【问题描述】:

我有一个使用弹出式菜单的 .NET Maui 项目,在所述菜单中我有图标和标题,如果您熟悉 .NET Maui,您就会理解我的意思,就像在 Microsoft Docs 示例中一样。

我的图标,例如,我使用信息图标,在引导到关于页面的 shell 中,图标在透明 .svg 上是黑色的.

而当用户使用浅色主题时,一切正常,但是当用户切换到深色主题时,背景变成黑色,图标没有明显变色,因此不再可见。

我检查了前景色属性,Image 没有... 我可能可以在 photoshop 中删除图标并制作一个白色版本,然后在视觉状态下我可以更改 ImageSource,但首先,当我有多个这样的图标时,这似乎有点过分了,这也意味着我会有大约两倍应用程序包中的资源数量,意味着我必须为每个 shell 定义模板,这似乎是错误的,或者创建一个具有 2 个源的自定义图像控件并在它们之间切换。

我不禁想知道是否有更好的方法来做到这一点,因为我确信带有深色主题的黑色图标是一个非常普遍的问题。

我尝试在 shell、图像和 .NET Maui 文档中搜索它,还尝试用谷歌搜索这个问题,甚至为此检查了 xamarin 表单,因为它们在 API 方面非常相似,我确实找到了任何东西……

【问题讨论】:

    标签: c# xaml xamarin.forms maui .net-maui


    【解决方案1】:

    我遇到了同样的问题,目前唯一的解决方案就是你所说的,如果你按照微软文档进行操作,你可以看到this link,它解释了如何以浅色/深色风格更改同一图像的主题。

    我建议您节省时间,如果可能的话,选择没有透明背景的图像,这样就不必逐个图标地进行编辑。

    另外,MAUI 社区非常活跃,所以你可以在MAUI Repo 上发布这个问题来建议你说的这个功能!

    最后,我推荐你icons 都有 <10kb 大小并且看起来不错的浅色/深色主题

    【讨论】:

    • 好吧,我想我现在知道该怎么做了……谢谢你的建议,我会检查一下。
    • 附带问题,您将如何为不同的状态而不是主题使用图标,假设我在集合视图中有图标,并且想将所选项目的图标颜色更改为亮色?
    【解决方案2】:

    你检查过 styles.xaml 了吗?

    【讨论】:

      猜你喜欢
      • 2023-02-10
      • 2022-12-19
      • 2023-01-24
      • 2022-10-20
      • 2022-12-17
      • 2022-12-09
      • 1970-01-01
      • 2022-11-13
      • 2022-09-28
      相关资源
      最近更新 更多