使Windows Phone应用程序根据主题改变配色方案
文章信息
这篇文章讲述了如何使Windows Phone应用程序根据主题改变配色方案。
Contents |
简介
- 应用程序的外观和感觉是和它功能同样重要的一个方面。
- 如果你的应用程序在如此之多的手机应用程序中脱颖而出,充满了视觉上的吸引力,那么会吸引越来越多的用户使用。
- Windows Phone 7允许应用程序修改每个主题的外观并允许用户为手机选择主题。
Windows Phone 7的主题,强调色,和ApplicationBar图标
Windows Phone 7的主题是由两部分组件构成的:背景色和强调色。
这里有两个背景色设置-深色(默认)和亮色。
这里有十种强调色:
- 洋红色
- 紫色
- 青色
- 酸橙色
- 褐色
- 粉红色
- 橙色
- 蓝色
- 红色
- 绿色
透明的背景色和白色的前景色是应用程序栏设计图标很好的选择,以便和主题很好的兼容。
在xaml中添加自适应主题的控件
我们可以利用下面的xaml来为手机主题提供不同的控件(在下面的实例中创建基于手机主题的不同背景按钮)
<StackPanel>
<Button Height="70" Visibility="{StaticResource PhoneDarkThemeVisibility}" Width="70" BorderBrush="{x:Null}" Click="button_viewprofile_Click">
<Button.Background>
<ImageBrush ImageSource="/Resources/Images/WhiteArrowImg.png" />
</Button.Background>
</Button>
<Button Height="70" Margin="-10,0,0,0" Visibility="{StaticResource PhoneLightThemeVisibility}" Width="70" BorderBrush="{x:Null}" Click="button_viewprofile_Click" >
<Button.Background>
<ImageBrush ImageSource="/Resources/Images/Black_ArrowImg.png" />
</Button.Background>
</Button>
</StackPanel>
获取当前主题及强调色
用代码来获取主题背景色
//获取深色背景的能见度
Visibility darkBgTheme = (Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"];
//写入主题背景值
if (darkBgTheme == Visibility.Visible)
{
//根据深色主题来指定资源文件
}
else
{
//根据亮色背景来指定资源文件
}
用代码来决定主题强调色
Color accentClr =
(Color)Application.Current.Resources["PhoneAccentColor"];
在应用程序中使用强调色
为了制作会自适应主题控件,开发人员必须使用StaticResource。
举例说明:
· *使用下面的Style让textblock自适应主题
<TextBlock Style="{StaticResource PhoneTextAccentStyle}"/>
- 使用下面的Fill属性来使一个矩形自适应主题
<Rectangle Fill="{StaticResource PhoneAccentBrush}" />
· *下面所示是ResourceDictionary片段,可以通过Properties Box修改。
利用这些属性,开发人员就可以确保他们的应用程序将会为每一个主题提供了不同的外观,不同的强调色来供用户设置。




(no comments yet)