首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Windows 7更改主题感知应用程序的颜色

为Windows 7更改主题感知应用程序的颜色
EN

Stack Overflow用户
提问于 2011-07-11 14:04:07
回答 2查看 796关注 0票数 2

根据用户在手机上选择的主题,我想改变矩形的颜色。

当用户将设备的主题颜色设置为亮矩形时,EG.应该是蓝色,而当主题设置为暗时,则应该是灰色。

有什么想法吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-11 16:04:06

我编写了一个自定义资源字典实现,它在运行时选择另一个字典而不影响性能,并在Visual设计器中工作。你会像这样使用它:

代码语言:javascript
复制
<Application.Resources>
  <custom:ThemeResourceDictionary>
    <custom:ThemeResourceDictionary.LightResources>
      <ResourceDictionary Source="/ThemeManagement;component/Resources/Light.xaml" />
    </custom:ThemeResourceDictionary.LightResources>
    <custom:ThemeResourceDictionary.DarkResources>
      <ResourceDictionary Source="/ThemeManagement;component/Resources/Dark.xaml" />
    </custom:ThemeResourceDictionary.DarkResources>
  </custom:ThemeResourceDictionary>
</Application.Resources>

其中Light.xamlDark.xaml将包含具有相同名称的资源。

您可以获得代码并阅读更多关于它的在我的博客上

票数 2
EN

Stack Overflow用户

发布于 2011-07-11 14:07:08

这类事情将能够确定主题设置为什么(黑暗还是光明)。您可能希望将其构建到可以绑定到的属性中以供您的画笔使用。

代码语言:javascript
复制
Visibility v = (Visibility)Resources["PhoneLightThemeVisibility"];
if (v == System.Windows.Visibility.Visible)
{
    // set your brush to blue
}
else
{
    // set your brush to grey
}

如果需要考虑到这一点,也可以使用PhoneAccentBrush获取用户选定的重音颜色。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6651312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档