WP7 Dev 101 【8】 系统的Theme

WP7 Dev 101 【8】 系统的Theme

作者:
Breakstring
分类:
开发技术
发表于2010-10-31
  

为了保持用户体验的一致性,Windows Phone 7不再像以前Windows Mobile系统那样给用户提供多种多样的风格主题。但是它依然可以设置一些最基本的背景颜色风格等。

从Windows Phone 7的主界面向左滑动到应用程序列表,然后依次找到“Settings”->“theme”就可以切换当前的主体颜色风格。背景色可以选择Dark和Light,即黑色和白色。

image image

而可选择的“Accent Color”有10种(MO和OEM还可以增加一种),该颜色是系统各个需要引起用户注意的地方的默认颜色,例如Tile的背景色,超链接的颜色等等。

image image

对于这两种颜色,他们会自动应用到你的程序的相应位置,例如背景色,超链接等等。。。但是有时候你可能想要自行判断或者加以控制。例如,你想要根据 当前的系统的主题背景色来修改界面上某些控件的展现那该怎么办呢?其实很简单,用如下代码就可以知道当前系统用的主题的背景色是什么:

Code Snippet
  1. public static Theme GetTheme()
  2. {
  3. var visibility = (Visibility )Application .Current.Resources["PhoneLightThemeVisibility" ];
  4. return (visibility == Visibility .Visible) ? Theme .Light : Theme .Dark;
  5. }
  6. public enum Theme
  7. {
  8. Light,
  9. Dark,
  10. }

如果你想要知道当前的Accent颜色值也很简单,如果你要在XMAL中修改某些控件的颜色为Accent颜色的话只需要设置其Foreground就可以。

Code Snippet
  1. Foreground =”{ StaticResource PhoneAccentBrush}

如果在C#代码中的话通过如下代码即可获得AccentBrush:

Code Snippet
  1. (Brush )Application .Current.Resources["PhoneAccentBrush" ];

其实通过Resources可以取到所有系统默认的颜色值、字体设置等等内容。具体内容参见MSDN文章“Theme Resources for Windows Phone ”。

本节内容结束。更多101系列文章参见WP7 Dev 101索引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值