WPF中的数据绑定(初级)
关于WPF中的数据绑定,初步探讨
数据绑定属于WPF中比较核心的范畴,以下是对WPF中数据绑定的一个初步探讨。个人感觉还是带有问题性质的叙述比较高效,也比较容易懂
第一,什么是数据绑定?
假定有这么一个场景,定义两个元素,TextBox(文本控件)与ProcessBar(进度条),如果要达到这么一个效果——当ProcessBar的属性Value变化时,TextBox中的属性FontSize也跟着变化,需要怎么做?
没错,这个时候就需要引入数据绑定的概念了(当然也可以用观察者模式来实现这个,但是有比这个更简单更方便更官方的数据绑定啊)。
第二,数据绑定有哪几种?
元素到元素的绑定(请看上面的红字内容)
元素到非元素的绑定
第三,怎么实现?
元素到元素的实现
这个应该是最简单的,直接上代码
<ProcessBar Name="setFontSize" Value="10"/>
<TextBox Name="showFontSize" Text="This is Show" FontSize={Binding ElementName=setFontSize ,Path=Value}" />
这里需要注意的是,绑定表达式语法(红色高亮):{Binding ElementName=setFontSize,Path=Value },setFontSize就是要绑定的元素名称,Path就是要绑定的元素的属性。
元素到非元素的实现,这里有三个方法
第一,使用Source属性
第二,使用RelativeSource属性
第三,使用RelativeSource属性
第四,暂时结束
技术的路线图是曲线的,并不是线性的,讲到这里暂停一下,最主要的原因是,元素到非元素的绑定涉及到其他WPF中的知识(例如资源的概念),当写完资源等相关的概念后在深入数据绑定。
WPF中的数据绑定(初级)的更多相关文章
- WPF入门教程系列十五——WPF中的数据绑定(一)
使用Windows Presentation Foundation (WPF) 可以很方便的设计出强大的用户界面,同时 WPF提供了数据绑定功能.WPF的数据绑定跟Winform与ASP.NET中的数 ...
- WPF中的数据绑定!!!
引用自:https://msdn.microsoft.com/zh-cn/magazine/cc163299.aspx 数据点: WPF 中的数据绑定 数据点 WPF 中的数据绑定 John Pap ...
- WPF中的数据绑定
WPF中的数据绑定 基础概念 System.Windows.Data.Binding,他会把两个对象(UI对象与UI对象之间,UI对象与.NET数据对象之间)按照指定的方式粘合在一起,并在他们之间建立 ...
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定) ------------------------------ ...
- 【值转换器】 WPF中Image数据绑定Icon对象
原文:[值转换器] WPF中Image数据绑定Icon对象 这是原来的代码: <Image Source="{Binding MenuIcon}" ...
- WPF入门教程系列十八——WPF中的数据绑定(四)
六.排序 如果想以特定的方式对数据进行排序,可以绑定到 CollectionViewSource,而不是直接绑定到 ObjectDataProvider.CollectionViewSource 则会 ...
- 【翻译】WPF中的数据绑定表达式
有很多文章讨论绑定的概念,并讲解如何使用StaticResources和DynamicResources绑定属性.这些概念使用WPF提供的数据绑定表达式.在本文中,让我们研究WPF提供的不同类型的数据 ...
- WPF入门教程系列十七——WPF中的数据绑定(三)
四. XML数据绑定 这次我们来学习新的绑定知识,XML数据绑定.XmlDataProvider 用来绑定 XML 数据,该XML数据可以是嵌入.Xmal文件的 XmlDataProvider 标记中 ...
- WPF入门教程系列十六——WPF中的数据绑定(二)
三.绑定模式 通过上一文章中的示例,学习了简单的绑定方式.在这里的示例,要学习一下绑定的模式,和模式的使用效果. 首先,我们来做一个简单示例,这个示例是根据ListBox中的选中项,去改变TextBl ...
随机推荐
- keepalive配置mysql自动故障转移
keepalive配置mysql自动故障转移 原创 2016年02月29日 02:16:52 2640 本文先配置了一个双master环境,互为主从,然后通过Keepalive配置了一个虚拟IP,客户 ...
- IE高级配置中,存在SSL支持协议,例如SSL TLS。
IE高级配置中,存在SSL支持协议,例如SSL TLS. 其在注册表的路径为:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\I ...
- MySQL一千行笔记
/* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysq ...
- python request 请求https verify=False时warning
import requests from requests.packages.urllib3.exceptions import InsecureRequestWarning requests.pac ...
- Ajax学习笔记——基本原理
Ajax(Asynchronous JavaScript + XML)不是语音,不是框架,也不能算是一种技术,而是一种模式.通过这种模式实现不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内 ...
- vmvare使用桥接和NAT方式连接网络
一.背景:本着学以致用的心态,试着最小化安装Centos7.4.安装centos主要目的有两个:共享文件(samba).安装postgresql数据库 本打算使用内网(不联网)的方式安装samba和p ...
- session的处理机制
https://blog.csdn.net/deepwishly/article/details/6659613 https://blog.csdn.net/dz45693/article/detai ...
- 5Linux流程控制语句-if、for、while、case语句、计划任务
流程控制语句.计划任务服务程序,今天记录的有点乱,在预习的时候就记了挺多了,书都花了,上几张图. for 循环 →指定一定的范围 while 循环 →指定一定的条件 for循环语句允许脚 ...
- Xilinx Zynq ZC-702 开发(02)—— 通过 Xilinx SDK 调试 Linux 应用
远程调试环境由 PC 上运行的 System Debugger(集成在 Xilinx SDK 中) 和 Zynq 板上运行的 Linux TCF Agent 共同构成, 两者通过 TCP 连接,架构图 ...
- Image Storage