Windows Phone开发基础 (6)Windows Phone 主题资源
2012/2/9
Windows Phone 对主题资源使用资源字典,它是一个键控对象字典,可在 XAML 和代码中使用。本节提供有关 Windows Phone 资源字典中提供的特定主题属性的信息。您的应用程序可以访问此处显示的属性,并使用 XAML 代码将其绑定到控件。在运行时,这些资源会被添加到应用程序中。
![]() |
---|
分配给主题资源的特定值可能取决于最终用户为其手机所选择的个性色和背景色。有关指定这些值的位置以及选择另外一个主题时所发生情况的信息,请参阅 Windows Phone 主题概述。 |
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
下表列出了并定义 Windows Phone 中提供的主题属性。可以在设计器中使用控件属性或使用 {StaticResource}标记扩展通过 XAML 应用它们。后者通过计算对已定义资源的引用来为任何 XAML 属性 (Property) 的属性 (Attribute) 提供值。有关如何将这些资源绑定到控件的信息,请参阅如何应用 Windows Phone 主题资源。
本主题包含下列主题属性:
画笔资源
本表列出并介绍了可以应用的各种画笔。
名称 |
类型 |
说明 |
---|---|---|
PhoneAccentBrush |
SolidColorBrush |
所选目标项的前景色 |
PhoneForegroundBrush |
SolidColorBrush |
默认的前景和边框颜色 |
PhoneBackgroundBrush |
SolidColorBrush |
页面和其他控件的默认背景 |
PhoneContrastBackgroundBrush |
SolidColorBrush |
对比元素的背景 |
PhoneContrastForegroundBrush |
SolidColorBrush |
对比元素的前景 |
PhoneDisabledBrush |
SolidColorBrush |
禁用的前景和颜色 |
PhoneSubtleBrush |
SolidColorBrush |
细微前景和边框 |
TransparentBrush |
SolidColorBrush |
用于背景和触控目标的 100% 透明画笔 |
PhoneSemitransparentBrush |
SolidColorBrush |
用于提供图像背景对比度的部分透明背景画笔 |
PhoneChromeBrush |
SolidColorBrush |
用于匹配应用程序栏颜色 |
TextBox 画笔
名称 |
类型 |
说明 |
---|---|---|
PhoneTextBoxBrush |
SolidColorBrush |
TextBox 控件画笔 |
PhoneTextCaretBrush |
SolidColorBrush |
TextBox 中符号画笔 |
PhoneTextBoxForegroundBrush |
SolidColorBrush |
TextBox 控件前景画笔 |
PhoneTextBoxEditBackgroundBrush |
SolidColorBrush |
TextBox 控件编辑前景画笔 |
PhoneTextBoxEditBorderBrush |
SolidColorBrush |
TextBox 控件编辑边框画笔 |
PhoneTextBoxReadOnlyBrush |
SolidColorBrush |
TextBox 控件只读状态画笔。 |
PhoneTextBoxSelectionForegroundBrush |
SolidColorBrush |
TextBox 控件选择内容前景画笔 |
RadioButton 和 CheckBox 画笔
名称 |
类型 |
说明 |
---|---|---|
PhoneRadioCheckBoxBrush |
SolidColorBrush |
RadioButton 和 CheckBox 画笔 |
PhoneRadioCheckBoxDisabledBrush |
SolidColorBrush |
禁用的 RadioButton 和 CheckBox 状态画笔 |
PhoneRadioCheckBoxCheckBrush |
SolidColorBrush |
CheckBox 选中画笔 |
PhoneRadioCheckBoxCheckDisabledBrush |
SolidColorBrush |
禁用的 CheckBox 选中画笔 |
PhoneRadioCheckBoxPressedBrush |
SolidColorBrush |
RadioButton 和 CheckBox 按下状态画笔 |
PhoneRadioCheckBoxPressedBorderBrush |
SolidColorBrush |
RadioButton 和 CheckBox 按下状态画笔 |
颜色资源
本表列出并介绍了可以通过画笔资源应用的各种颜色。
![]() |
---|
您应该尝试使用画笔资源,而不是直接使用或修改颜色。这是因为在您的应用程序中只能修改画笔值,而不能修改颜色。 |
名称 |
类型 |
说明 |
---|---|---|
PhoneBackgroundColor |
颜色 |
页面和其他控件的默认背景 |
PhoneForegroundColor |
颜色 |
默认的前景和边框颜色 |
PhoneDisabledColor |
颜色 |
禁用的前景和颜色 |
PhoneSubtleColor |
颜色 |
细微前景和边框 |
PhoneAccentColor |
颜色 |
所选目标项的前景色 |
PhoneContrastBackgroundColor |
颜色 |
对比元素的背景 |
PhoneContrastForegroundColor |
颜色 |
对比元素的前景 |
PhoneChromeColor |
颜色 |
状态栏和应用程序栏的颜色 |
PhoneSemitransparentColor |
颜色 |
用于提供图像背景对比度的部分透明色 |
TextBox 颜色
名称 |
类型 |
说明 |
---|---|---|
PhoneTextBoxColor |
颜色 |
TextBox 控件的颜色 |
PhoneTextCaretColor |
颜色 |
TextBox 中符号的颜色 |
PhoneTextBoxForegroundColor |
颜色 |
TextBox 控件前景颜色 |
PhoneTextBoxEditBackgroundColor |
颜色 |
TextBox 控件编辑背景颜色 |
PhoneTextBoxEditBorderColor |
颜色 |
TextBox 控件编辑边框颜色 |
PhoneTextBoxReadOnlyColor |
颜色 |
TextBox 控件只读状态颜色。 |
PhoneTextBoxSelectionForegroundColor |
颜色 |
TextBox 控件选择内容前景颜色 |
RadioButton 和 CheckBox 颜色
名称 |
类型 |
说明 |
---|---|---|
PhoneRadioCheckBoxColor |
颜色 |
RadioButton 和 CheckBox 颜色 |
PhoneRadioCheckBoxDisabledColor |
颜色 |
禁用的 RadioButton 和 CheckBox 状态颜色 |
PhoneRadioCheckBoxCheckColor |
颜色 |
CheckBox 选中的颜色 |
PhoneRadioCheckBoxCheckDisabledColor |
颜色 |
禁用的 CheckBox 选中的颜色 |
PhoneRadioCheckBoxPressedColor |
颜色 |
RadioButton 和 CheckBox 按下状态颜色 |
PhoneRadioCheckBoxPressedBorderColor |
颜色 |
RadioButton 和 CheckBox 按下状态颜色 |
字体名称
本表列出并介绍了可以应用的各种字体名称。属性 = FontFamily
名称 |
类型 |
值 |
---|---|---|
PhoneFontFamilyNormal |
字体系列 |
Segoe WP |
PhoneFontFamilyLight |
字体系列 |
Segoe WP Light |
PhoneFontFamilySemiLight |
字体系列 |
Segoe WP Semilight |
PhoneFontFamilySemiBold |
字体系列 |
Segoe WP Semibold |
粗细
本表列出并介绍了应用到 UI 元素的粗细。属性 = BorderThickness、边距、填充
名称 |
类型 |
值 |
---|---|---|
PhoneHorizontalMargin |
BorderThickness、边距、填充 |
12, 0 |
PhoneVerticalMargin |
BorderThickness、边距、填充 |
0, 12 |
PhoneMargin |
BorderThickness、边距、填充 |
12 |
PhoneTouchTargetOverhang |
BorderThickness、边距、填充 |
12 |
PhoneTouchTargetLargeOverhang |
BorderThickness、边距、填充 |
12, 20 |
PhoneTextBoxInnerMargin |
BorderThickness、边距、填充 |
1,2 |
PhonePasswordBoxInnerMargin |
BorderThickness、边距、填充 |
3,2 |
PhoneBorderThickness |
BorderThickness、边距、填充 |
3 |
PhoneStrokeThickness |
BorderThickness、边距、填充 |
3 |
字体大小
本表列出并介绍了可以应用的各种字体大小。属性 = FontSize
名称 |
类型 |
说明 |
---|---|---|
PhoneFontSizeSmall |
Double |
18.667 |
PhoneFontSizeNormal |
Double |
20 |
PhoneFontSizeMedium |
Double |
22.667 |
PhoneFontSizeMediumLarge |
Double |
25.333 |
PhoneFontSizeLarge |
Double |
32 |
PhoneFontSizeExtraLarge |
Double |
42.667 |
PhoneFontSizeExtraExtraLarge |
Double |
72 |
PhoneFontSizeHuge |
Double |
186.667 |
文本样式
下表提供了您可以应用到 TextBlock 控件的文本样式选项。属性 = 样式。
![]() |
---|
您可以使用 Expression Blend for Windows Phone 预览文本样式,然后将其应用到对象。有关更多信息,请参阅 Windows Phone 的 Expression Blend 概述。 |
名称 |
适用于: |
类型 |
说明 |
---|---|---|---|
PhoneTextBlockBase |
TextBlock |
样式 |
FontFamily:PhoneFontFamilyNormal FontSize:PhoneFontSizeNormal 前景:PhoneForegroundBrush 边距: PhoneHorizontalMargin |
PhoneTextNormalStyle |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase |
PhoneTextSubtleStyle |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase 前景:PhoneSubtleBrush |
PhoneTextTitle1Style |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontFamily:PhoneFontFamilySemiLight FontSize:PhoneFontSizeExtraExtraLarge |
PhoneTextTitle2Style |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontFamily:PhoneFontFamilySemiLight FontSize:PhoneFontSizeLarge |
PhoneTextTitle3Style |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontFamily:PhoneFontFamilySemiLight FontSize:PhoneFontSizeMedium |
PhoneTextSmallStyle |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontSize:PhoneFontSizeSmall 前景:PhoneSubtleBrush |
PhoneTextLargeStyle |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontFamily:PhoneFontFamilySemiLight FontSize:PhoneFontSizeLarge |
PhoneTextExtraLargeStyle |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontFamily:PhoneFontFamilySemiLight FontSize:PhoneFontSizeExtraLarge |
PhoneTextGroupHeaderStyle |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontFamily:PhoneFontFamilySemiLight FontSize:PhoneFontSizeLarge 前景:PhoneSubtleBrush |
PhoneTextContrastStyle |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontFamily:PhoneFontFamilySemiBold 前景:PhoneContrastForegroundBrush
|
PhoneTextAccentStyle |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontFamily:PhoneFontFamilySemiBold 前景:PhoneAccentBrush
|
PhoneTextHugeStyle |
TextBlock |
样式 |
BasedOn:PhoneTextBlockBase FontFamily:PhoneFontFamilyLight FontSize:PhoneFontSizeHuge
|
主题可见性和不透明度
别外还有一些可用来调整深色和浅色主题背景可见性和不透明度的资源:
可见性
名称 |
类型 |
说明 |
---|---|---|
PhoneDarkThemeVisibility |
可见性 |
在深色主题中可见,而在浅色主题中会折叠 |
PhoneLightThemeVisibility |
可见性 |
在浅色主题中可见,而在深色主题中会折叠 |
不透明度
名称 |
类型 |
说明 |
---|---|---|
PhoneDarkThemeOpacity |
Double |
1 表示深色主题,0 表示浅色主题 |
PhoneLightThemeOpacity |
Double |
0 表示深色主题,1 表示浅色主题 |