Windows开发笔记4{数据绑定与网络数据}
13.(有截图)
绑定术语
->绑定目标、绑定源、路径
操作方式
->在XAML中需要数据绑定的地方使用扩展语法
Content="{Binding Path=属性"}"
->在后台准备一个数据对象
->为控件的DataContent属性赋值
实现数据绑定
->进行数据绑定:将对象绑定到控件上(控件-绑定目标 对象-绑定源)
(见截图 左为手机页面 ,右为一个Person类)
->如何绑定
1)创建对象,设置控件
2)再控件需要数据的地方使用扩展语言
语法:形如{...}
eg:(按钮)<Button Content="XXX"/>
<Button Content="{Binding Path=属性名}"/>
3)在后台代码为控件的DataContext赋值
publicsealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.NavigationCacheMode =NavigationCacheMode.Required;
//数据绑定按钮
btn.DataContext =new TestBinding() { Name = "测试"};//Name为TestBinding类中的属性
//为页面需要绑定数据的控件绑定(所有使用扩展语言的控件)
//this.DataContext= new TestBinding() { Name = "测试" };
}
14、将后台修改的信息显示到前台页面
->设置绑定的类型
OneTime 只绑定一次数据,不再改变,用于数据的查询
OneWay 通过前端改变影响后台代码or通过后台代码改变影响前端,只能选择其中一种方式
TwoWay 在OneWay的基础上双方向的影响(性能损耗大)--->实现用户的交互,应用较多
语法:"{Binding Path=属性名 , Mode=类型}"
->在后台对象发生修改后需要提示前端去更新,需要让对象的类继承自INotifyPropertyChanged的接口
a.将类继承自INotifyPropertyChanged
b.在类中添加实现代码
classXX
{
//为事件提供处理方法,PropertyChangedEventHandler需要导入命名空间
publicevent PropertyChangedEventHandler PropertyChanged;
private void Func(string bindingName)//bindingName需要改变的数据
{
if(PropertyChanged != null)
{
PropertyChanged(this,new PropertyChangedEventArgs(bindingNmae));
}
}
string _birthday; //将会改变的字段
publicstring Birthday
{
get{ return Birthday; }
set
{
_birthday= value;
//通知前端更新数据
Func("Birthday");
}
}
}
15、绑定列表集合
—>某个平台的消息查询
->数据列表
<ListView />控件
->ORM 将一个数据库中的数据表看作一个List集
eg:List<Person>
name age sex
->操作步骤
a.提供一个ListView控件
b.在XAML代码中提供ItemTemplate属性
c.为这个模板属性提供一个DataTamplate模型
d.为模板设计好结果以后,在后天代码中为ListView的ItemSource赋值
->例如ComboBox和ListBox
16、手机如何进行网络请求
->HttpClient
->WebClient(WP8.1已经不用)
实际操作HttpClient与WebClient几乎一样
->步骤
a.创建对象,设置控件
b.下载
案列:使用HttpClient获取网络数据,基于此做一个WP8.1电子词典