【问题标题】:In a XAML winrt app, is it possible to apply the dark theme to just one element?在 XAML winrt 应用程序中,是否可以将深色主题仅应用于一个元素?
【发布时间】:2013-02-02 02:12:22
【问题描述】:

我正在使用播放器框架媒体播放器,我将它放在黑色背景上,但应用程序使用浅色主题。我想将深色主题应用于这一个元素。

这可能吗?

【问题讨论】:

    标签: c# xaml windows-runtime winrt-xaml


    【解决方案1】:

    目前这在 WinRT 中是不可能的。如果是浅色主题中的黑色背景,您必须定义自己的样式并将其合并到特定容器的资源中(在您的情况下是网格)。

    【讨论】:

    • 这就是我害怕的。谢谢。
    【解决方案2】:

    是的,您可以将元素放置在网格中并将网格的背景设置为黑色。即使应用了“浅色”主题,这将有效地始终使元素的背景为黑色。

    【讨论】:

    • 我已经把它放在黑色背景中,问题是元素是为白色背景设计的。例如。播放按钮应该是带有白色“播放”符号的白色圆圈,而不是带有黑色“播放”符号的白色(实心)圆圈。
    【解决方案3】:

    我还没有检查它是否可以工作,但您可以尝试包含应该位于(或附近)“c:\Program Files (x86)\Windows Kits\8.0\Include\winrt”中某处(或附近)的深色主题资源字典\xaml\design" 并将其设置为网格的合并字典。也许这会覆盖您为应用程序的其余部分设置的轻量主题字典。

    另一种方法是修改媒体播放器中使用的所有控件的模板,以匹配其深色主题版本。 Blend 在那里可能真的很有帮助,因为您可以打开两个 Blend 实例并轻松比较控件的基线深色主题版本和您的自定义深色主题版本中使用的颜色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      • 2012-03-23
      相关资源
      最近更新 更多