(17).数据绑定值的自定义转换

合集下载

(完整word版)物联网导论必做题(附答案)

(完整word版)物联网导论必做题(附答案)

一、单项选择题(在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码写在题后的括号内.)1。

根据信息生成、传输、处理和应用的原则,可以把物联网分为四层:感知识别层、网络构建层、(C)和综合应用层。

A)物理层B)会话层C)管理服务层D)表示层2。

工业界经常将RFID系统分为( A )、天线和标签三大组件。

A)阅读器B)扫描仪C)转换器D)主机3。

传感器作为信息获取的重要手段,与通信技术、计算机技术构成了( B )的三大支柱.A)网络技术B)信息技术C)感知识别D)物联网技术4.在传感器的硬件平台和软件程序设计时应考虑低成本与微型化、低功耗、灵活性与扩展性和(D ).A)经济性B)高效性C)舒适性D)鲁棒性5。

具体而言,位置信息包括三大要素:所在的地理位置、处在该地理位置的(C )、处在该地理位置的对象(人或设备).A)空间B)事件C)时间D)场景6.GPS系统由三大部分组成:宇宙空间部分、地面监测部分和( B )部分。

A)空中接收B)用户设备C)管理控制部分D)连接传输7。

物联网设备的智能性就体现在这些异构的设备所构成的系统具有(C )、任务迁移、智能协作和多通道交互四个方面。

A)数据接收B)任务发布C)情境感知D)系统管理8。

随着物联网感念的诞生和发展,智能设备也有了新的理解和定位,即横向智能化、(A )和互联规模化。

A)纵向智能化B)管理深入化C)感知深入化D)互联微型化9.组成无线网络的基本元素包括无线网络用户、无线连接和(A ).A)基站B)数字终端C)PDA D)移动设备10。

无线网络的类别包括无线广域网、无线城域网、无线局域网和无线( A )局域网。

11。

由于所使用的波长较短,对障碍物的衍射较差,因此两个使用( B )通信的设备之间必须相互可见,通信距离一般为一米左右。

A)蓝牙B)红外C)ZigBee D)WiFi12.一个主蓝牙设备最多可以同时和(C )个从设备通信。

A)5 B)6 C)7 D)813。

云卓-T10 v1.0使用说明书

云卓-T10 v1.0使用说明书

泉州云卓科技有限公司*产品不含显示设备云卓-T10 V1.0使用说明书注意:本产品使用以下词条因操作不当可能带来的潜在危险加以分级说明。

注意:如果不遵循说明进行操作,可能会导致财产损失和轻微伤害。

注意:如果不遵循说明进行操作,可能会导致财产损失、重大事故和严重伤害。

警告:通过阅读整个用户手册,熟悉产品的功能之后再进行操作。

如果没有正确操作本产品可能会对自身或他人造成严重伤害,或者导致产品损坏和财产损失。

本产品较为复杂,需要经过一段时间熟悉后才能安全使用,并且需要具备一些基本常识后才能进行操作,如果没有强烈的安全意识,不恰当的操作可能会导致产品损坏和财产损失,甚至对自身或他人造成严重伤害。

本产品不适合儿童使用。

切勿使用非云卓提供或建议的部件,必须严格遵守云卓的指引来使用产品。

一、概述1. 产品特性① 双天线冗余设计,配合通讯算法,极大增强了信号的通讯能力。

FHSS扩频技术,全角度增益天线,通信距离内完成飞行器与相机的各种操作和配置。

② 集成数字视频传输功能,可实现最远7KM传输。

③ 内部集成数传电台,可实现最远10KM传输。

④ 安卓APP设置参数,把传统的OSD设置参数升级为触屏操控。

⑤ 蓝牙和USB两种连接方式,同时支持S.BUS、PPM、PWM、串口等多种口,并支持设备扩展。

⑥ 通过蓝牙连接APP,切换手型,调整正反向、舵量、通道绑定、失控保护值、SBUS、PPM输 出和数传波特率等数据。

提供参数保存和载入功能。

⑦ 支持TOWER、QGC、JlYI、 TOPXGUN、BOYING等APP。

⑧ 使用两节18650电池(需另购),续航约25小时,20DBm发射功率。

⑨ 高集成度数图控三合一链路。

超小体积,采用折叠支架,结实稳固。

⑩ 可选配多种SKYDROID推出的摄像头,如MINI数字摄像头、带灯数字摄像头、20倍变焦摄像头 等。

2. 主要用途及适用范围用于遥控操作直升机、固定翼、多旋翼、车、船等进行视频图像传输、数据传输和操作无人机飞行。

gridcontrol绑定数据源的方法

gridcontrol绑定数据源的方法

gridcontrol绑定数据源的方法gridcontrol是一种常用的数据展示控件,可以在Windows Forms 应用程序中使用。

它可以方便地绑定数据源,实现数据的显示和编辑。

本文将介绍几种常见的方法来使用gridcontrol绑定数据源。

方法一:使用DataTable绑定数据源DataTable是一种用于存储数据的对象,可以方便地绑定到gridcontrol上。

首先,我们可以创建一个DataTable对象,并添加列和行。

然后,将DataTable对象绑定到gridcontrol的DataSource属性上即可。

方法二:使用List绑定数据源除了DataT able,我们还可以使用List来存储数据,并将其绑定到gridcontrol上。

首先,我们需要创建一个包含数据的List对象,并定义数据的结构。

然后,将List对象转换为BindingList对象,并将其绑定到gridcontrol的DataSource属性上。

方法三:使用BindingSource绑定数据源BindingSource是一种数据源对象,可以方便地管理和控制数据的显示和编辑。

我们可以创建一个BindingSource对象,并将数据源(如DataTable或List)赋值给它。

然后,将BindingSource对象绑定到gridcontrol的DataSource属性上。

方法四:使用自定义数据源类绑定数据源如果我们的数据源不是DataTable或List,而是自定义的数据源类,我们可以实现IBindingList接口并重写其中的方法,以实现数据绑定的功能。

然后,将自定义数据源类的对象绑定到gridcontrol的DataSource属性上即可。

方法五:使用数据绑定事件绑定数据源除了直接将数据源对象赋值给gridcontrol的DataSource属性,我们还可以通过数据绑定事件来动态地绑定数据源。

在数据绑定事件中,我们可以编写代码来获取数据源,并将其赋值给gridcontrol 的DataSource属性。

GridView的七种数据绑定列的类型

GridView的七种数据绑定列的类型

GridView的七种数据绑定列的类型1.BoundField ⽤于显⽰普通⽂本,是默认的数据绑定列的类型,⼀般⾃动⽣成的列就是该类型,需要注意是DataFormatString属性,该属性可以设置显⽰的格式,常见格式有:{0:C} 设置显⽰的内容是货币类型{0:D} 设置显⽰的内容是数据{0:yy-mm-dd} 设置内容为⽇期格式在使⽤此属性时,需要设置HtmlCode属性值为false,否则设置⽆效。

2.TemplateField 它允许以模板的形式⾃定义数据绑定的内容,是这⼏种绑定列中最灵活的列现形式,也是最复杂的,甚⾄可以编写HTML 代码,模板字段添加的两种⽅式:直接添加或都将现在字段转换为模板字段在 GridView控件中,模板列也有可视化的编辑界⾯,分别为:标头(HeaderTemplate)、脚注(FooterTemplate)、普通项 (ItemTemplate)、交替项(alternatingTemplate)、编辑模式(EditItemTemplate),可以根据需要选择要设置的模板。

它的数据绑定值⽅式有:Eval和Bind⽅法区别:Eval是只读的⽅法(单向数据绑定),所绑定的内容为不会提交回服务器,它并不想让⽤户做任何修改<%# Eval("属性名或对象.属性名")%> 此⽅法还有⼀个重载⽅法,可以实现格式化,⽐如要显⽰出版⽇期 <%# Eval("publisher","{0:yy-mm-dd}")%>⽽Bind⽅法⽀持读写功能(双向向数据绑定),该⽅法常常与输⼊控件(⽐如TextBox) ⼀起使⽤,达到可更新数据的⽬的 <%# Bind("属性或对象.属性名")%>3.ButtonField 是个按钮,可以通过CommandName设置按钮的命令,通常使⽤⾃定义的代码实现命令按钮发⽣的操作。

Excel使用技巧收集(2011.10.10)

Excel使用技巧收集(2011.10.10)

2011.10.10.10:10Excel使用技巧收集163种目录一、基本方法71. 快速选中全部工作表72. 快速启动E XCEL73. 快速删除选定区域数据74. 给单元格重新命名75. 在E XCEL中选择整个单元格范围76. 快速移动/复制单元格 87. 快速修改单元格式次序88. 彻底清除单元格内容89. 选择单元格810. 为工作表命名811. 一次性打开多个工作簿912. 快速切换工作簿913. 选定超级链接文本(微软O FFICE技巧大赛获奖作品)1014. 快速查找1015. 修改默认文件保存路径1016. 指定打开的文件夹1017. 在多个E XCEL工作簿间快速切换1018. 快速获取帮助1119. 创建帮助文件的快捷方式1120. 双击单元格某边移动选定单元格1121. 双击单元格某边选取单元格区域1122. 快速选定不连续单元格1123. 根据条件选择单元格1124. 复制或移动单元格1225. 完全删除E XCEL中的单元格1226. 快速删除空行1227. 回车键的粘贴功能1228. 快速关闭多个文件1229. 选定多个工作表1330. 对多个工作表快速编辑1331. 移动和复制工作表1332. 工作表的删除1333. 快速选择单元格1334. 快速选定E XCEL区域(微软O FFICE技巧大赛获奖作品)1335. 备份工件簿1436. 自动打开工作簿1437. 快速浏览长工作簿1438. 快速删除工作表中的空行1439. 绘制斜线表头1440. 绘制斜线单元格1541. 每次选定同一单元格1542. 快速查找工作簿1543. 禁止复制隐藏行或列中的数据1544. 制作个性单元格16二、数据输入和编辑技巧161. 在一个单元格内输入多个值162. 增加工作簿的页数163. 奇特的F4键 164. 将格式化文本导入E XCEL175. 快速换行176. 巧变文本为数字177. 在单元格中输入0值178. 将数字设为文本格式189. 快速进行单元格之间的切换(微软O FFICE技巧大赛获奖作品)1810. 在同一单元格内连续输入多个测试值1811. 输入数字、文字、日期或时间1812. 快速输入欧元符号1913. 将单元格区域从公式转换成数值1914. 快速输入有序文本1915. 输入有规律数字1916. 巧妙输入常用数据2017. 快速输入特殊符号2018. 快速输入相同文本2019. 快速给数字加上单位2020. 巧妙输入位数较多的数字2121. 将WPS/W ORD表格转换为E XCEL工作表2122. 取消单元格链接2123. 快速输入拼音2124. 插入“√”2225. 按小数点对齐2226. 对不同类型的单元格定义不同的输入法2227. 在E XCEL中快速插入W ORD表格2228. 设置单元格字体2329. 在一个单元格中显示多行文字2330. 将网页上的数据引入到E XCEL表格2331. 取消超级链接2332. 编辑单元格内容2333. 设置单元格边框2334. 设置单元格文本对齐方式2435. 输入公式2436. 输入人名时使用“分散对齐”(微软O FFICE技巧大赛获奖作品)2438. 恢复隐藏列2439. 快速隐藏/显示选中单元格所在行和列(微软O FFICE技巧大赛获奖作品)2540. 彻底隐藏单元格2541. 用下拉列表快速输入数据2542. 快速输入自定义短语2543. 设置单元格背景色2644. 快速在多个单元格中输入相同公式2645. 同时在多个单元格中输入相同内容2646. 快速输入日期和时间2647. 将复制的单元格安全地插入到现有单元格之间2648. 在E XCEL中不丢掉列标题的显示2749. 查看与日期等效的序列数的值2750. 快速复制单元格内容2751. 使用自定义序列排序(微软O FFICE技巧大赛获奖作品)2752. 快速格式化E XCEL单元格2753. 固定显示某列2754. 在E XCEL中快速编辑单元格2855. 使用自动填充快速复制公式和格式2856. 为单元格添加批注2857. 数据自动输入2858. 在E XCEL中快速计算一个人的年龄2959. 快速修改单元格次序2960. 将网页上的数据引入到E XCEL表格中29三、图形和图表编辑技巧291. 在网上发布E XCEL生成的图形292. 创建图表连接符303. 将E XCEL单元格转换成图片形式插入到W ORD中304. 将W ORD内容以图片形式插入到E XCEL表格中315. 将W ORD中的内容作为图片链接插入E XCEL表格中316. 在独立的窗口中处理内嵌式图表317. 在图表中显示隐藏数据318. 在图表中增加文本框319. 建立文本与图表文本框的链接3210. 给图表增加新数据系列3211. 快速修改图表元素的格式3212. 创建复合图表3213. 对度量不同的数据系列使用不同坐标轴3314. 将自己满意的图表设置为自定义图表类型3315. 复制自定义图表类型3316. 旋转三维图表3317. 拖动图表数据点改变工作表中的数值3418. 把图片合并进你的图表3419. 用图形美化工作表3420. 让文本框与工作表网格线合二为一3521. 快速创建默认图表3522. 快速创建内嵌式图表3523. 改变默认图表类型3524. 快速转换内嵌式图表与新工作表图表3525. 利用图表工具栏快速设置图表3626. 快速选取图表元素3627. 通过一次按键创建一个E XCEL图表3628. 绘制平直直线36四、函数和公式编辑技巧371. 巧用IF函数清除E XCEL工作表中的0 372. 批量求和373. 对相邻单元格的数据求和374. 对不相邻单元格的数据求和385. 利用公式来设置加权平均386. 自动求和387. 用记事本编辑公式398. 防止编辑栏显示公式399. 解决SUM函数参数中的数量限制3910. 在绝对与相对单元引用之间切换3911. 快速查看所有工作表公式4012. 实现条件显示40五、数据分析和管理技巧401. 管理加载宏402. 在工作表之间使用超级连接413. 快速链接网上的数据414. 跨表操作数据415. 查看E XCEL中相距较远的两列数据416. 如何消除缩位后的计算误差(微软O FFICE技巧大赛获奖作品)427. 利用选择性粘贴命令完成一些特殊的计算428. W EB查询 429. 在E XCEL中进行快速计算4210. 自动筛选前10个 4311. 同时进行多个单元格的运算(微软O FFICE技巧大赛获奖作品)4312. 让E XCEL出现错误数据提示4313. 用“超级连接”快速跳转到其它文件44六、设置技巧441. 定制菜单命令442. 设置菜单分隔线443. 备份自定义工具栏444. 共享自定义工具栏455. 使用单文档界面快速切换工作簿456. 自定义工具栏按钮45一、基本方法1.快速选中全部工作表右键单击工作窗口下面的工作表标签,在弹出的菜单中选择“选定全部工作表”命令即可()。

ArcGIS开发模式silverlight

ArcGIS开发模式silverlight

搭建开发环境
1、安装VS2008 SP1 或者Visual Web Developer Express SP1 2、安装Microsoft® Silverlight™ Tools for Visual Studio 2008 SP1 选择安装Silverlight ToolKit (/Silverlight); 3、下载API library;
/arcgisserver/apis/silverlight/
4、在Web Server根目录下添加跨域访问协议; 对于ArcGIS Server .net 添加到C:\Inetpub\wwwroot; 对于ArcGIS Server Java添加到<ArcGIS>\java\web_output;
主要内容:高级进阶
• Silverlight 基础
– Microsoft Silverlight 概述 – 理解XAML – 资源字典 – 自定义控件外观 – 数据绑定 – Silverlight网络和通信
• Silverlight API开发进阶
– 客户化控件外观 – 绘制专题图 – 自定义图层
Silverlight官方网站 / Silverlight开源站点 /Silverlight MSDN Silverlight 帮助 /zh-cn/library/cc838158(VS.95).aspx
openSUSE 11.0

通过Moonlight 插件,Linux 用户可以浏览Silverlight内容和 使用Silverlight应用
2009年7月 Siverlight 3.0正式发布
• 支持高清媒体
/media/experiencesmoothstreaming

WPF框架系列课程(小白进阶选择)(2024)

其他布局控件
简要介绍其他布局控件的使用方法和适用场景。
10
事件处理机制
1 2
事件概述
介绍WPF中的事件概念以及事件处理机制。
事件绑定
详细讲解如何在XAML中绑定事件处理方法。
3
事件参数和事件数据
解释事件参数和事件数据的概念,以及如何在事 件处理方法中使用它们。
2024/1/24
11
数据绑定原理及实践
用于展示数据集合,如文 件列表、订单列表等。
2024/1/24
14
自定义控件开发方法论述
继承现有控件
通过继承WPF中的现有控件,可以添加新的功能 或修改现有行为。
组合现有控件
通过将多个现有控件组合在一起,可以创建具有 复合功能的自定义控件。
使用代码创建控件
通过编写XAML和C#代码,可以创建全新的自定 义控件。
XAML语法
02
详细讲解XAML的语法规则,包括元素、属性、标记扩展等。
命名空间
03
解释XAML中的命名空间概念,以及如何引用WPF中的控件和
类。
9
布局控件使用
2024/1/24
布局Grid、StackPanel、 DockPanel等。
Grid布局
详细讲解Grid布局的使用方法和技巧,包括行列定义、跨行跨 列等。
2024/1/24
资源利用与内存管理
分享关于WPF中资源利用和内存管 理的最佳实践,如合理使用资源、及 时释放内存等。
渲染性能优化
提供针对WPF渲染性能的优化建议 ,如使用双缓冲技术、减少不必要的 渲染操作等。
27
06 实战案例分析与挑战解决
2024/1/24
28

数据库复习题

数据库期末考试复习题一、选择题。

1.数据库(DB)数据库系统(DBS)数据库管理系统(DBMS)三者之间的关系是(A)A.DBS包括DB和DBMSB.DBMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB也就是DBMS2.设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员之间的关系是(B)A.m:nB.1:mC.m:kD.1:13.对于关系的描述正确的是(D)A同一个关系中允许有完全相同的元祖。

B同一个关系中元祖必须按关键字升序存放。

C在一个关系中必须将关键字作为该关系的第一个属性。

D同一个关系中不能出现相同的属性名。

4.E-R图用于描述数据库的(A)A概念模型B数据模型C存储模型D逻辑模型5.关系模型的基本结构图是(D)A树B图C环D二维表(数据库系统概论p17)6关于关系数据技术,下列描述正确的是(D)A关系数据模型早于层次和网状数据模型问世。

B关系数据的一个格点既可以存储一个基本数据也可以存储另一个关系表。

C关系表的一个属性对应现实世界中的一个客观对象D关系代数中的并交差乘积运算实际上就是对关系的元组所实行的同名集合运算。

7关于数据模型下列叙述不正确的是(D)A数据模型提供了一种描述实体及其联系的方法与工具B数据模型是建立数据模式的工具,数据模式是数据模型在一个具体环境中的应用C数据模型包含一组描述数据结构,数据操作与数据完整性约束的规则。

D关系表中的列可以再分解8关系运算“交”可以使用其他基本关系运算替代,A∩B正确的替代表达式是(A)A.A-(A-B)B.A∪(A-B)C.∏B(A)D.A-(A-B)9关于规范化,下列叙述正确的是(C)A规范化是为了保证存储在数在数据库中的数据正确,有效,互相不出现矛盾的一组规则。

B规范化是为了提高数据查询速度的一组规则。

C规范化是为了解决数据库中插入删除修改异常等问题的一组规则。

D4种规范化范式各自描述不同的规范化要求,彼此没有关系。

Access表中各种属性的设置

ACCESS数据表中各个属性的含义、设置方法:格式:Format 属性:可以使用Format属性自定义数字、日期、时间和文本的显示方式。

Format属性只影响数据的显示方式,不影响数据的存储方式。

String型,可读/写。

expression.Formatexpression 必需。

返回“应用于”列表中的一个对象的表达式。

说明可以使用预定义的格式,或者使用格式符号创建自定义格式。

Format对不同的数据类型使用不同的设置,对于控件,可以在控件的属性表中设置该属性。

对于字段,可以在表“设计”视图或“查询”窗口的“设计”视图中(“字段属性”的属性表中)设置该该属性。

也可以使用宏或Visual Basic。

注释在 Visual Basic 中,可输入对应预定义格式的子符串表达式或者输入自定义格式。

Access 为“时间/日期”、“数字”和“货币”、“文本”和“备注”和“是/否”数据类型提供预定义格式,预定义格式与国家/地区设置有关。

Access显示对应于所选国家/地区的格式,例如,如果在“常规”选项卡中选取“英语(美国)”,则1234.56 的“货币”格式是$1,234.56,如果在“常规”选项卡中选取“英语(英国)”,该数字将显示为£1,234.56。

如果在表“设计”字视图中设置字段的Format属性,Access使用该格式在数据表中显示数据。

对窗体和报表上的新控件也应用字段的Format属性。

在任意数据类型的自定义格式中都可以使用以下符号:不能将“数字”和“货币”型的数据类型的自定义格式符号与“日期/时间”、“是/否”或“文本”和“备注”格式符号混合使用。

如果在数据上定义了输入掩码同时又设置了Format属性,在显示数据时,Format属性将优先,而忽略输入掩码。

例如,如果在表“设计”视图中创建了“密码”输入掩码,同时又为字段设置了Format属性,则无论是在表或在窗体上的控件中,数据都将根据Format属性来显示,而“密码”输入掩码则被忽略。

PowerBI视觉对象教程(2024)


自定义条件规则
除了内置的条件格式化规则外, 用户还可以自定义条件规则,以 满足更复杂的格式化需求。
2024/1/30
32
地图视觉对象应用案例
2024/1/30
地理位置数据可视化
利用地图视觉对象,可以将地理位置数据与地图相结合,直观地 展示数据在地理空间上的分布情况。
区域销售数据比较
通过将不同区域的销售数据与地图相结合,可以方便地比较各区域 的销售情况,帮助用户快速发现销售瓶颈和市场机会。
详细讲解了如何从各种数 据源获取数据,并进行清 洗、转换和整理,以便用 于后续的数据分析和可视 化。
深入阐述了数据建模的概 念、方法和最佳实践,包 括星型模型、雪花模型等 ,以及如何在Power BI中 创建和管理数据模型。
系统介绍了Power BI中提 供的各种可视化工具和控 件,如表格、图表、地图 等,以及如何使用这些工 具创建交互式的数据可视 化报告。
2024/1/30
29
提升用户体验策略
提供帮助和文档
优化视觉设计
选择合适的颜色、字体和布局 ,使视觉对象更加美观和易于 理解。
提供清晰的导航
设置明确的导航路径和面包屑 导航,使用户能够轻松地浏览 和返回上一级页面。
响应式设计
根据用户的设备和屏幕尺寸调 整视觉对象的布局和大小,提 供最佳的观看体验。
$item2_c{单击此处添加正文,文字是您思想的提炼,为了最终呈现发布的良好效果单击此处添加正文单击此处 添加正文,文字是您思想的提炼,为了最终呈现发布的良好效果单击此处添加正文单击此处添加正文,文字是 一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八 九十单击此处添加正文单击此处添加正文,文字是您思想的提炼,为了最终呈现发布的良好效果单击此处添加 正文单击此处添加正文,文字是您思想的提炼,为了最终呈现发布的良好效果单击此处添加正文单击5*48}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对于数据绑定,绑定的数据源的值类型和绑定目标的依赖属性的值类型可能会不同,系统提供了一些默认的绑定类型转换,另外也可以由用户自定义这种绑定转换:

一、定义CLR类型 定义一个CLR类型,内部存在两个属性字符串类型的ColorString和Color对象类型的ColorObject,供应用程序界面调用: 1: using System.ComponentModel; 2: using System.Windows.Media; 3: 4: namespace BasicWPFDataBinding 5: { 6: public class MyBindingColor : INotifyPropertyChanged 7: { 8: public event PropertyChangedEventHandler PropertyChanged; 9: 10: public MyBindingColor() 11: { 12: _ColorString = "Red"; 13: _ColorObject = Colors.Red; 14: } 15: 16: // 字符串类型的ColorString 17: private string _ColorString; 18: public string ColorString 19: { 20: set 21: { 22: _ColorString = value; 23: if (PropertyChanged != null) 24: { 25: PropertyChanged(this,new PropertyChangedEventArgs("ColorString")); 26: } 27: } 28: get 29: { 30: return _ColorString; 31: } 32: } 33: 34: // Color对象类型的ColorObject 35: private Color _ColorObject; 36: public Color ColorObject 37: { 38: set 39: { 40: _ColorObject = value; 41: if (PropertyChanged != null) 42: { 43: PropertyChanged(this, new PropertyChangedEventArgs("ColorObject")); 44: } 45: } 46: get 47: { 48: return _ColorObject; 49: } 50: } 51: } 52: }

二、系统自带的类型转换 系统定义了一系列的常用的绑定的数据类型转换,例如可以由字符串(String)型和SolidColorBrush对象间相互转换。字符串与SolidColorBrush的转换规则有两种,一种是对应命名的颜色,如Red、Green、Blue等,另一种是#AARRGGBB或#RRGGBB组成的RGB颜色或ARGB颜色。

例如,下面的示例将字符串类型的ColorString属性绑定到Rectangle的Brush类型的Fill属性上(SolidColorBrush是Brush的子类,可以自动转换)。

XAML代码如下: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Fill="{Binding Path=ColorString}" /> 11: 12: 13: x:Name="btn_ChangeColorString" Click="btn_ChangeColorString_Click" /> 14: 15: x:Name="btn_GetColorString" Click="btn_GetColorString_Click" /> 16:

CS代码如下: 1: #region 利用系统自带的字符串向SolidColorBrush对象的转换实现绑定 2: private void btn_ChangeColorString_Click(object sender, RoutedEventArgs e) 3: { 4: try 5: { 6: MyBindingColor source = (MyBindingColor)(panelBindingColorString.DataContext); 7: source.ColorString = txtValueA.Text; 8: } 9: catch (Exception ex) 10: { 11: MessageBox.Show( 12: ex.Message, 13: "System Information", 14: MessageBoxButton.OK, 15: MessageBoxImage.Error); 16: } 17: 18: } 19: 20: private void btn_GetColorString_Click(object sender, RoutedEventArgs e) 21: { 22: MyBindingColor source = (MyBindingColor)(panelBindingColorString.DataContext); 23: 24: MessageBox.Show( 25: string.Format("The Binding ColorString to {0}.", source.ColorString), 26: "System Information", 27: MessageBoxButton.OK, 28: MessageBoxImage.Information); 29: } 30: #endregion 三、自定义的绑定类型转换 如定义自定义的绑定类型转换,需要定义一个类,对于这个类要求:

 实现System.Windows.Data命名空间的IValueConverter接口,这个接口有两个抽象方法,

对应两个方向的转换

 为此类添加System.Windows.Data命名空间的ValueConversion这个Attribute,指定转换

的源类型和目标类型

代码如下: 1: using System; 2: using System.Windows.Data; 3: using System.Windows.Media; 4: 5: namespace BasicWPFDataBinding 6: { 7: /// 8: /// 自定义的由Color对象向SolidColorBrush对象进行转换 9: /// 10: [ValueConversion(typeof(Color),typeof(SolidColorBrush))] 11: public class MyColorConverter : IValueConverter 12: { 13: #region IValueConverter Members 14: 15: // 由Color对象向SolidColorBrush对象转换 16: public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 17: { 18: Color val = (Color) (value); 19: return new SolidColorBrush(val); 20: } 21: 22: // 由SolidColorBrush对象向Color对象转换 23: public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 24: { 25: SolidColorBrush brush = (SolidColorBrush) value; 26: return brush.Color; 27: } 28: 29: #endregion 30: } 31: }

相关文档
最新文档