没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
WPF 数据绑定[1]
、 所有的绑定都是从 这个类开始的,最原始的绑定方式:
数据来源对象
数据的具体来源对象的属性
由于 是树状的,所以对于某些包含子对象的来源对象,设置 的时候,要具体到子对象的属性,比如:
的 !"# 子对象的 $
这时:
%&'!"#$'
%&''
使用将数据邦定到的目标对象的方法进行绑定
其中(第一个参数是要绑定的目标属性(是一个)依赖属性*
其实绑定都是使用 ++! 的 方法
,%&(
相对于不 类来说,还有一个 -%,使用这个类的静态方法 也是可以进行相同的
数据邦定,两种方式的主要区别在于,-% 类的 的第一次参数是目标对象,也就是上面的
,,只是这个参数不一定是控件。
-%,(%&(
同时 -% 还可以用于清除已经实施的绑定
-%+!,(%&
-%+!,
,、 相对于在后台 文件中的代码,其实在前台的 ./01 也是可以进行设置的:
234
25!-' !'4
267#''424
267#','424
2899三种不同的书写格式,来源对象都是 ,都是对目标对象的 进行设置994
267#':'';<!#7#(='4
24
267#'>'';(<!#7#='424
267#'?'4
24
2<!#7#''''4
24
24
25!4
234
WPF 数据绑定[2]
:、 在 ./01 中,还可以使用静态资源进行数据绑定:
、自定义一个类
,、在 ./01 中声明改自定义类的对象,将其放入静态资源
:、在相关的控件【对象】中绑定资源
>、当自定义类中的属性改变,相应的绑定对象的相关目标属性也会改变
/、自定义类:
、"7@&%&+ 来自于 &#+#%0!,用于将自定义类的某个属性变成可支持自动变更
,、在使用 "A5 之前,要判断 A 对象是不是 !!,如果该属性没有被指定绑定的话,将会是 !!
%!!-B6"7@&%&+
;
%A<#%&
%!7
;
;=
;
A!
@%&+8!!
;
%&+"A5(%&+<A/'7'
=
=
=
C"7@&%&+成员
%!A%&+<A$!%&+
C
=
、在 ./01 中声明资源6
26+!'%@/%%!,'
#!'%6##@#@,DDE#!%'
#!6'%6##@#@,DDE#!'
2899
、! 是自定义的前缀
,、要使用自定义的类,必须声明前缀,关联的部分是 !9#%6%@/%%!
994
#!6!'!9#%6%@/%%!'
!','$':DD'':DD'4
2F4
2899声明资源,-B 是自定义类名,需要为其添加 5&,因为 F 是一个字典994
2!6-B6G&'B'42!6-B4
2F4
234
25!4
2899绑定资源,F 表示是静态资源994
2 67#'' '; ;F
B=(7='424
2899设定更改自定义类目标属性的动作994
267#''+!5'H+!5'+'/'424
25!4
234
24
+、进行关联6
%!7#D计数器
%AAH+!5B(F<A/
;
7#II
使用 F 对象获得静态资源,并将计数器的数值更改
因为在 ./01 中已经做了相关的 关联,所以这个动作完成之后,
、自定义类的对象的 7 属性将会改变
,、相应的文本框的 也将会改变
F)'B'*-B77#
=
另外,对于集合来说,如果继承 -A!+!!24的话,则自定义的集合类也可以用于数据绑定,但是要注
意绑定模式,对于集合的 + 这样只读的属性,没有办法进行双向绑定,只能进行单项绑定【-&】。
同时,对于在文本框这类单一的对象,读取集合数据源的非唯一性数据【唯一性数据如 count 等】,没有找到如何解
决
从现在认知来看,要绑定集合对象的话,必须使用对应的集合控件,如 1、 等,对于集合绑定,下一
节整理。
WPF 数据绑定[3]
对于绑定集合,正如要绑定单一自定义对象一样,要使得数据源对象某些属性变更成具有自动更新机制的,要使得集
合可以变成能够绑定的,有两种方式:
、让集合继承 "7@&%&+,就像是绑定单一自定义对象一样,实现相关的方法。
,、让集合继承 -A!+!!24,只要继承,基本上就可以使用了,无需更多实现任何东西。
这里主要使用第二种方式:
、在上一节的基础上,构建集合类
%!!-B,6-A!+!!2-B4
;
%!-B,6
;
=
=
,、声明资源
2F4
2899这里的 ! 前缀是沿用上一节的前缀,也就是说类 -B, 和上一节的自定义类
是在同一个命名空间下的
994
2!6-B,6G&'B3%'4
2!6-B,4
2F4
:、./01 进行绑定,这里分别绑定集合类的 + 属性以及集合类里面每个 -B 的 7 属性
25!-' !'4
2899
使用 来显示当前静态资源 B3% 的总数
994
267#','';
;FB3%=(
+(0-&='424
2899
每点击一次按钮,往静态资源 B3% 添加一个 -B 对象
994
267#','+!5',H+!5'+''424
25!4
25!-' !'4
2899
显示静态资源 B3% 里每一个 -B 对象的 7 属性
994
2167#'!'"#';
;FB3%=='J%!&0#'7'4
214
25!4
>、 文件按钮出发的动作函数6
%AA,H+!5B(F<A/
;
7#II上一节使用到得计数器
F)'B3%'*-B,/
-B7#
=
由 于 现 在 每 初 始 化 一 个 -B 对 象 的 时 候 , 希 望 能 够 将 数 据 器 的 数 值 赋 予 7 属 性 , 所 以 类
-B 需要一个新的构造函数:
、由于所有静态资源都是在 的 "!K+#% 函数中完成的,所以必须保留一个默认的构造
函数。
,、如果不需要单独使用 -B 作为静态资源的话,其实可以不用继承 "7@&%&+
因为 -B, 类已经继承 -A!+!!24,它可以使得使用自定义集合类的前提下
让 -B 的 7 属性具有自动变更性。
%!!-B6"7@&%&+
;
%A<#%&
%!-B
;
'D'
=
%!-B7
;
7
=
剩余47页未读,继续阅读
资源评论
- yym8872012-03-23doc文件,没有例子,难理解
- yiyaru2013-10-10这个没太多的实例呀
- elfin1012012-06-25过于理论,不太容易结合实践
- cheastqiaol2012-07-20数据绑定理论讲的比较透彻!
uxux007
- 粉丝: 9
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功