【转】WPF绑定模式
源地址:http://www.cnblogs.com/zjz008/archive/2010/05/26/1744802.html
http://blog.csdn.net/haylhf/article/details/7628979
WPF支持OneWay,TwoWay,OneTime,Default和OneWayToSource等多种绑定模式
无论是目标属性还是源属性,只要发生了更改,TwoWay 就会更新目标属性或源属性。
OneWay 仅当源属性发生更改时更新目标属性。
OneTime 仅当应用程序启动时或 DataContext 进行更改时更新目标属性。
OneWayToSource 在目标属性更改时更新源属性。
Default:使用目标属性的默认 Mode 值。
下面的例子,展示了这几种绑定模式的区别:

代码
<Window x:Class="WPF_Started.Controls.DataBinding.BindingMode"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="BindingMode" Height="400" Width="300">
<StackPanel>
<ScrollBar Name="scroll" Orientation="Horizontal" Margin="20" Maximum="100" LargeChange="10" SmallChange="1" />
<Label Content="OneWay:" Height="30" />
<TextBox Name="scrollValue" Height="20" Width="200" HorizontalAlignment="Center"
Text="{Binding ElementName=scroll, Path=Value, Mode=OneWay}" /><Label Content="TwoWay:" Height="30" />
<TextBox Name="scrollValueTwoWay" Height="20" Width="200" HorizontalAlignment="Center"
Text="{Binding ElementName=scroll, Path=Value, Mode=TwoWay}" /><Label Content="OneTime:" Height="30" />
<TextBox Name="scrollValueOneTime" Height="20" Width="200" HorizontalAlignment="Center"
Text="{Binding ElementName=scroll, Path=Value, Mode=OneTime}" /><Label Content="OneWayToSource:" Height="30" />
<TextBox Name="scrollValueOneWayToSource" Height="20" Width="200" HorizontalAlignment="Center"
Text="{Binding ElementName=scroll, Path=Value, Mode=OneWayToSource}" /><Label Content="Default:" Height="30" />
<TextBox Name="scrollValueDefault" Height="20" Width="200" HorizontalAlignment="Center"
Text="{Binding ElementName=scroll, Path=Value, Mode=Default}" />
</StackPanel>
</Window>

运行结果显示,OneWay,TwoWay,Default模式下TextBox中的值随着滑块的位置而变化。OneTime模式下总是滑块的初始值0,这种模式下TextBox的值取决于ScrollBar的初始值。
OneWayToSource模式下,在TextBox中输入20,滑动条滑块会自动滑倒20的位置,但当滑动条继续滑动时候,该模式下TextBox的值并不随着滑动条的滑动而改变。
【转】WPF绑定模式的更多相关文章
- WPF的5种绑定模式(mode)
WPF的绑定模式(mode)是枚举的 枚举值共有5个 1:OneWay(源变就更新目标属性) 2:TwoWay(源变就更新目标并且目标变就更新源) 3:OneTime(只根据源来设置目标,以后都不会变 ...
- WPF快速入门系列(4)——深入解析WPF绑定
一.引言 WPF绑定使得原本需要多行代码实现的功能,现在只需要简单的XAML代码就可以完成之前多行后台代码实现的功能.WPF绑定可以理解为一种关系,该关系告诉WPF从一个源对象提取一些信息,并将这些信 ...
- 【转】【WPF】WPF绑定用法
一.简介 为了后面行文顺利,在进入正文之前,我们首先对本文所涉及到的绑定知识进行简单地介绍.该节包含绑定的基本组成以及构建方式. WPF中的绑定完成了绑定源和绑定目标的联动.一个绑定常常由四部分组成: ...
- WPF - 绑定及惯用法(一)
写在前面:这仍然是一些没有经过严格审阅的文字.虽然我的确执行了初稿.复稿以及审阅等一系列用以保证文章质量的方法,但是仍然担心其中是否有错误.希望您能帮助指出,以在下一次我在版本更新时进行修正.所有的错 ...
- WPF自学入门(十一)WPF MVVM模式Command命令 WPF自学入门(十)WPF MVVM简单介绍
WPF自学入门(十一)WPF MVVM模式Command命令 在WPF自学入门(十)WPF MVVM简单介绍中的示例似乎运行起来没有什么问题,也可以进行更新.但是这并不是我们使用MVVM的正确方式 ...
- WPF MVVM模式中,通过命令实现窗体拖动、跳转以及显隐控制
原文:WPF MVVM模式中,通过命令实现窗体拖动.跳转以及显隐控制 在WPF中使用MVVM模式,可以让我们的程序实现界面与功能的分离,方便开发,易于维护.但是,很多初学者会在使用MVVM的过程中遇到 ...
- WPF绑定功能常用属性介绍
1.Mode 绑定中数据流的方向(enum BindingMode) 目标属性指的是控件的属性 (1)TwoWay 更改源属性或目标属性时,会自动更新另一方.适用于可编辑窗体 例:TextBox (2 ...
- cxGrid 增加序号 (非数据库绑定模式) (测试通过)
cxGrid 增加序号 (非数据库绑定模式) ----------------------------------- 1. 选在 adoQuery 控件 , 鼠标右键菜单中 选择 Fields Edi ...
- WPF MVVM模式的一些理解
/*本文转自 http://www.cnblogs.com/sirkevin/archive/2012/11/28/2793471.html */ 使用WPF+Mvvm开发一年多,期间由于对Mvvm模 ...
随机推荐
- 【Leetcode】82. Remove Duplicates from Sorted List II
Question: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only dis ...
- 关于sizeof
sizeof是求占用的内存空间的大小,并不是指数组长度.(strlen 的长度只适合char*类型) 例如. int a[10]={0}; 数组a的长度为sizeof(a)/sizeof(a[0])— ...
- Dubbo学习(二) Dubbo 集群容错模式-负载均衡模式
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...
- Delphi开发单机瘦数据库程序要点(后缀cds)
一.概述 Delphi作为Windows下的一种快速开发工具,不仅能开发一般的Windows应用程序,而且还具有强大的数据库应用程序开发功能.Delphi本身提供了对BDE,ODBC,ADO和Inte ...
- 【CSS】规范大纲
文件规范: 文件分类 : 通用类 :业务类. 文件引入:行内样式(不推荐):外联引入:内联引入.(避免使用Import引入) 文件本身:文件名. 编码:UTF-8. 注释规范: 块状注释:统一缩进,在 ...
- Qt——基本工具的使用
本文主要介绍在windows系统中使用C++编写Qt程序所需要的一些工具,不会具体地讲工具怎么使用. 其它系统的安装本文不会涉及,在http://wiki.qt.io/Main中,有关于各种系统qt安 ...
- 文件同步工具 lsyncd2.1.6 安装使用问题
项目有文件实时同步备份的需求,做了一下调查,比较好的解决方法是使用lsyncd工具.这里主要记录一下遇到的问题及解决方法. lsyncd 的相关介绍和对比可见: lsyncd实时同步搭建指南——取代r ...
- P3165 [CQOI2014]排序机械臂
题目描述 为了把工厂中高低不等的物品按从低到高排好序,工程师发明了一种排序机械臂.它遵循一个简单的排序规则,第一次操作找到高度最低的物品的位置 P1P_1P1 ,并把左起第一个物品至 P1P_1P1 ...
- 【转】Word 2010 取消拼写/语法检查,隐藏红线/绿线
转自:http://blog.chinaunix.net/uid-8203698-id-3040631.html 设置方法如下,在Word菜单栏-->文件-->选项-->校对,其中“ ...
- 【python】vscode python环境配置
安装python插件:ext install python 配置flake8:pip install flake8 配置yapf:pip install yapf(在VScode中按Alt+Shift ...