windows phone 7 中怎样定义和使用资源(Resource)
来源:互联网 发布:java empty 编辑:程序博客网 时间:2024/05/24 06:22
1. 系统资源。
在wp7开发中可以看到很多使用系统资源(resource)的例子,例如默认的新page:
<TextBlock x:Name="PageTitle" Text="PageTitle" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
这里的PhoneTextTitle1Style便是资源。
系统的资源定义在这里:C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Design , 根据安装路径不同,这个路径有一些差异。
这个路径下有DarkBlue、DarkBrown、LightBlue等文件夹,分别对应手机上选定的主题色+高亮色。
DarkBlue为例,.\DarkBlue\ThemeResources.xaml 中PhoneTextTitle1Style是这样定义的:
<Style x:Key="PhoneTextTitle1Style" TargetType="TextBlock" BasedOn="{StaticResource PhoneTextBlockBase}"> <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiLight}"/> <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeExtraExtraLarge}"/></Style>
PhoneFontFamilySemiLight 和 PhoneFontSizeLarge 的定义<FontFamily x:Key="PhoneFontFamilySemiLight">Segoe WP SemiLight</FontFamily>
<System:Double x:Key="PhoneFontSizeExtraExtraLarge">72</System:Double>
2. 自定义资源
资源可以定义在3个地方:Page.xaml, App.xaml 及单独的资源辞典文件中。
3个地方定义没什么差别,这是使用时存在细微差别。
以页面中定义为例子:
<phone:PhoneApplicationPage.Resources> <Color x:Key="myForce" >Red</Color> <Color x:Key="myBack" >GreenYellow</Color> <system:String x:Key="myString" >12345</system:String> <SolidColorBrush x:Key="myForceBrush" Color="Orange" /> <SolidColorBrush x:Key="myBackBrush" Color="{StaticResource myBack}" /> </phone:PhoneApplicationPage.Resources>
system是命名空间,要使用它需要在前面加上一行
xmlns:system="clr-namespace:System;assembly=mscorlib"
3. Xaml中使用资源
<TextBlock x:Name="ApplicationTitle" Text="{StaticResource myString}" Foreground="{StaticResource myForceBrush}" Style="{StaticResource PhoneTextNormalStyle}"/>
4. MainPage.Xaml.cs文件中使用资源
if (this.ApplicationBar == null) { this.ApplicationBar = new ApplicationBar(); this.ApplicationBar.MenuItems.Add(new ApplicationBarMenuItem() { Text = "Menu1" }); } this.ApplicationBar.BackgroundColor = (Color)this.Resources["myBack"]; this.ApplicationBar.ForegroundColor = (Color)Application.Current.Resources["PhoneAccentColor"];
其实"PhoneAccentColor"可以通过this.Resources 加载到,但反之不行,因为资源"myBack"是定义在Page中的,Application类中不可见this.ApplicationBar.ForegroundColor = (Color)this.Resources["PhoneAccentColor"];
- windows phone 7 中怎样定义和使用资源(Resource)
- WP7中怎样定义和使用资源(Resource)
- Windows Phone 资源图片使用(2)
- Windows Phone 7开发工具和资源
- Windows Phone 7 开发工具和资源
- .rc Windows资源文件定义和使用
- Windows Phone 7 资源汇总
- Windows Phone 7 资源汇总
- Windows phone 7中的图像控件、资源和样式
- Windows Phone 资源图片使用 (1)
- xx.rc windows资源文件的定义和使用
- Windows Phone 7 资源汇总(超全)
- Windows Phone 7 资源汇总(超全)
- Windows Phone 7 资源汇总(超全)
- Theme Resource for Windows Phone
- Windows Phone 7常用资源大集合
- Windows Phone 7常用资源大集合
- Windows Phone 7常用资源大集合
- Unix GREP的用法
- 连锁加盟必看九步骤
- Cisco Callmanager介绍
- Android编译时java版本不对修改方法
- DHCPV4 VS DHCPV6
- windows phone 7 中怎样定义和使用资源(Resource)
- java调cmd命令
- GMP Install Instruction for Windows Platform
- sql server问题--单数据库实现和动态数据库实现
- 用Eclipse CDT 配置C/C++ 编译环境
- unix的sed 用法介绍
- Java获取客户端代码大全
- C++纯虚函数
- 离线安装WindowBuilder