WP7 主题 样式 和 数据绑定
主题 :
屏幕背景色 : 默认是黑色 , 为了省电 , 可以自由设置 , 系统会检测背景色的更改并及时应用
图标背景色 : accent colors , 可以设置屏幕上图标的背景色 , 也会自动应用全部
以上设置完成以后 , 系统会把所有的应用都变成如上的设置色 。
样式 :
Windows Pphone 使用了一个默认的样式 , 存储在
C:\Program Files\Microsoft SDKs\Windows Phone\v7.0\Design\ThemeResources.xaml
这是一个样式字典 , 定义了一些列的样式属性
控件模板 :
C:\Program Files\Microsoft SDKs\Windows Phone\v7.0\Design\System.Windows.xaml
数据绑定 :
数据绑定为 SL 程序提供了一种简单的数据 "呈现" 与 "交互" 的方式 。 使得呈现与程序逻辑分离 。
一旦建立了绑定关系 , UI 和 数据对象可以 "自动同步" 数据
数据绑定的角色分为 : Binding Target (绑定对象) 和 Bingding Source (绑定数据源)
绑定对象 必须是一个 Dependency Property 并且继承自 FrameworkElement
绑定数据源 只需要是一个 CLR Object
不管是 引用资源样式 还是 绑定数据源 , 都是在 "{}" 里进行操作 ,
资源引用 是用关键字 StaticResource 样式名称 , 数据绑定是 Binding ElementName=控件, Path=Value
数据绑定方向 (Mode) :
Databinding Mode 用于指定目标控件与原数据之间如何进行同步 。
—— OneTime : 目标控件的属性只是更新一次 , 以后的更新会被忽略 。
—— OneWay : 数据对象的值会同步到目标控件的属性 , 但是目标控件的属性改变时不会同步到数据对象中 。
—— TwoWay : 目标控件的属性和数据对象的值相互同步 。
用于 OneWay 和 TwoWay 绑定的数据对象必须继承于 INotifyPropertyChanged
XAML 上使用 类 :
—— 在解决方案里添加一个继承自 INotifyPropertyChanged 接口的实体类 , 并在属性值发生改变时使用所提供的事件 , 通知与变更属性绑定的控件
—— 在 XAML 里 , 新建一个自己的命名空间引用 , xmlns:local="clr-namespace:PostcodeManager(解决方案的命名空间名称)" , local 是自定义的 , 可以随便起名 。
—— 把要使用的实体类作为资源引入当前 XMAL , 在 XAML 里给要引用的类资源注册一个 Key ,
<phone:PhoneApplicationPage.Resource>
local 是上面自定义的命名空间名称
ClassName 是要使用的类名
<local:ClassName x:Key="PostcodeClass"></local:ClassName>
</phone:PhoneApplicationPage.Resource>
在控件上使用 PostcodeClass 类 : <TextBox Text="{Binding Path=postcode(类里的属性名) , Mode=TwoWay , Source={StaticResource PostcodeClass(类名)}}" />