WPF binding 参考
Introduction
This is an article on WPF Binding Cheat Sheet. Some of the Binding won't work for Silverlight 3.
Basic Binding |
|
| {Binding} | Bind to current DataContext. |
| {Binding Name} | Bind to the "Name" proeprty of the current DataContext. |
| {Bindind Name.Length} | Bind to the Length property of the object in the Name property of the current DataContext |
| {Binding ElementName=SomeTextBox, Path=Text} | Bind to the "Text" property of the element XAML element with name="SomeTextBox" or x:Name="SomeTextBox". |
XML Binding |
|
| {Binding Source={StaticResource BooksData} XPath=/books/book} | Bind the result of XPath query "/books/book" from the XML in the XmlDataProvider in a parent's "Resources" elememt with x:Key="BooksData". |
| {Binding XPath=@name} | Bind to the result of an XPath query run on the XML node in the DataContext (for example in an ItemControl's DataTemplate when the ItemsControl.ItemsSource is bound to an XML data source). |
Relative Source Binding |
|
| {Binding RelativeSource={RelativeSource Self}} | Bind to the target element. |
| {Binding RelativeSource={RelativeSource Self}, Path=Name} | Bind to the "Name" property of the target element. |
| {Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=Title} | Bind to the title of the parent window. |
| {Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}, AncestorLevel=2}, Path=Name} | Bind the the name of the 2nd parent of type ItemsControl. |
| {Binding RelativeSource={RelativeSource TemplatedParent}, Path=Name} | Inside a control template, bind to the name property of the element the template is applied to. |
| {TemplateBinding Name} | Shortcut for the previous example. |
Collection Current Item Binding |
|
| {Binding /} | Bind to the current item in the DataContext (when DataContext is a collection) |
| {Binding AllItems/} | Bind to the current item in the "AllItems" property of the DataContext |
| {Binding AllItems/Name} | Bind to the "Name" property of the current item in the "AllItems" property of the DataContext |
Alphabetical list of all Binding's properties
Property |
Description |
| BindingGroupName (3.5sp1) | The name of the BindingGroup to which this binding belongs. A BindingGroup is used to validate multiple bindings together (for example when multiple changes should be submitted all at once). |
| BindsDirectlyToSource | When using a DataSourceProvider derived class (for example a ObjectDataProvider) setting this property to true will bind to the data source provider object itself, leaving it false will bind to the data contained in the data source. |
| Converter | The converter to use, usually you create the converter in a parent element's Resources element and reference it using a {StaticResource name) or create the converter as a static field and reference it with {x:Static ns:class.field} |
| ConverterCulture | The culture passed to the converter. |
| ConverterParameter | The parameter passed to the converter |
| ElementName | Element name, when binding to an element in the same XAML scope. Can't be used if RelativeSource or Source is set. |
| FallbackValue | Value to use when the Binding encounters an error |
| IsAsync | Use when the property's get accessor takes a long time, to avoid blocking the UI thread, While waiting for the value to arrive, the binding reports the FallbackValue. |
| Mode | Direction of binding, possible options:
|
| NotifyOnSourceUpdated | Raise the SourceUpdated event when a value is transferred from the binding target to the binding source. |
| NotifyOnTargetUpdated | Raise the TargetUpdated event when a value is transferred from the binding source to the binding target. |
| NotifyOnValidationError | Raise the Error attached event on the bound object. |
| Path | Source property. |
| RelativeSource | Binding source relative to the target, possible options:
|
| Source | Object to use as the binding source. Can't be used if ElementName or RelativeSource is set. |
| StringFormat (3.5sp1) | Format string to use when converting the bound value to a string. Works only if the target property is of type string. |
| TargetNullValue (3.5sp1) | Value to use when the bound value is null. |
| UpdateSourceExceptionFilter | Custom logic for handling exceptions that the binding engine encounters. Only if you add an ExceptionValidationRule to ValidationRules or set ValidatesOnExceptions |
| UpdateSourceTrigger | Timing of binding source updates, possible options:
|
| ValidatesOnDataErrors (3.5sp1) | Use IDataErrorInfo when validating. |
| ValidatesOnExceptions (3.5sp1) | Treat exceptions as validation failures. |
| ValidationRules | Collection of rules that check the validity of the user input. |
| XPath | XPath query that returns the value on the XML binding source to use. Top |
WPF binding 参考的更多相关文章
- WPF入门教程系列(二) 深入剖析WPF Binding的使用方法
WPF入门教程系列(二) 深入剖析WPF Binding的使用方法 同一个对象(特指System.Windows.DependencyObject的子类)的同一种属性(特指DependencyProp ...
- WPF Binding值转换器ValueConverter使用简介(二)-IMultiValueConverter
注: 需要继承IMultiValueConverter接口,接口使用和IValueConverter逻辑相同. 一.MultiBinding+Converter 多值绑定及多值转换实例 当纵向流量大于 ...
- WPF Binding值转换器ValueConverter使用简介(一)
WPF.Silverlight及Windows Phone程序开发中往往需要将绑定的数据进行特定转换,比如DateTime类型的时间转换为yyyyMMdd的日期,再如有一个值是根据另外多组值的不同而异 ...
- WPF Binding
winform有binding, WPF也有binding,区别在哪呢?这里暂时不提.以前也检查接触WPF binding, 但为什么过段时间就忘记了呢? 可能主要原因自己的知识体系不够完善吧,下面我 ...
- WPF Binding Mode,UpdateSourceTrigger
WPF 绑定模式(mode) 枚举值有5个1:OneWay(源变就更新目标属性)2:TwoWay(源变就更新目标并且目标变就更新源)3:OneTime(只根据源来设置目标,以后都不会变)4:OneWa ...
- WPF Binding ElementName方式无效的解决方法--x:Reference绑定
原文:WPF Binding ElementName方式无效的解决方法--x:Reference绑定 需求: 背景:Grid的有一个TextBlock name:T1和一个ListBox,ListBo ...
- WPF Binding学习(四) 绑定各种数据源
转自:http://blog.csdn.net/lisenyang/article/details/18312199 1.集合作为数据源 首先我们先创建一个模型类 public class Stude ...
- UpdateSourceTrigger Property in WPF Binding
介绍 这篇文章我将介绍在WPF和Silverlight中更新绑定源的概念.正如您所知道的,当我们用TwoWay的模式绑定时,任何在目标控件上发生的变化都会影响绑定源的值. 请注意只是在用TwoWay绑 ...
- .NET: WPF Binding对数据的校验和转换以及多路Binding
一.校验 一般需要对target上的值进行校验. xaml: <Window x:Class="WpfApplication1.MainWindow" xmlns=" ...
随机推荐
- Angular2开发笔记
Problem 使用依赖注入应该注意些什么 服务一般用来做什么 指令一般用来做什么 angular2如何提取公共组件 angular2为什么不需要提公共组件 父组件与子组件之间如何通讯 什么时候应该使 ...
- Anders Hejlsberg 技术理想架构开发传奇
Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方.他要做一个决定,决定自己未来的命运和理想.这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了 ...
- 趣说游戏AI开发:曼哈顿街角的A*算法
0x00 前言 请叫我标题党!请叫我标题党!请叫我标题党!因为下面的文字既不发生在美国曼哈顿,也不是一个讲述美国梦的故事.相反,这可能只是一篇没有那么枯燥的关于算法的文章.A星算法,这个在游戏寻路开发 ...
- linux服务器开发一 基础
注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个 ...
- 数据库 DML、DDL、DCL区别 .
总体解释: DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的 ...
- Linux基础介绍【第二篇】
远程连接Linux的原理 SHH远程连接介绍 当前,在几乎所有的互联网企业环境中,最常用的Linux提供远程连接服务的工具就是SSH软件,SSH分为SSH客户端和SSH服务端两部分.其中,SSH服务端 ...
- 使用LogMaster4Net实现应用程序日志的集中管理
日志在软件系统中的重要性我在此也不赘述了,几乎所有程序员每天都会更日志打交道. 那么你是否曾今为这样的一些事情而困扰过: - 远程登录到不同的服务器,找到应用程序目然后查看应用日志: - 来回切换于不 ...
- Flux 普及读本
话说当时做 APP 时,三月不知肉味,再次将眼光投放前端,有种天上一天,地下一年的感觉. Flux 是一种思想 了解的最好方式当然是看Flux官方文档了.React 中文站点也能找到对应的翻译版本,但 ...
- Android笔记——Matrix
转自:http://www.cnblogs.com/qiengo/archive/2012/06/30/2570874.html#translate Matrix的数学原理 在Android中,如果你 ...
- 返回顶部的功能 div固定在页面位置不变
1.你在网上搜索的时候,可能会搜索到div固定在页面上,不随滚动条滚动而滚动是用CSS写的,写法是position:fixed;bottom:0; 但是这个在iframe满地跑的页面实际开发中,有啥用 ...