BindingOperations.GetBindingExpression 方法GetBinding 动态绑定!

来源:互联网 发布:2008进程4占用80端口 编辑:程序博客网 时间:2024/06/05 14:18

 

 此主题由人工翻译。 将光标移到文章的句子上,以查看原文。  译文
原文 ,按照文章经常改变绑定的方向模式,状态以及校验模式,这样比较方便,

 

 #region ** 组件绑定的公用函数                public static void SetBindingBindMode(Control control,BindingMode bindMode)        {            if ( control is TextBox )            {                BindingExpression bindingExpr= control.GetBindingExpression(TextBox.TextProperty);                Binding curBinding=bindingExpr.ParentBinding;                Binding binding=new Binding()                {                    Source = curBinding.Source,                    Path = curBinding.Path,                    Mode = bindMode,                    TargetNullValue = curBinding.TargetNullValue                };                if ( bindMode == BindingMode.OneWay )                {                    binding.ValidatesOnDataErrors = false;                    binding.ValidatesOnNotifyDataErrors = false;                    binding.TargetNullValue = null;                    control.IsEnabled = false;                                    }                control.SetBinding(TextBox.TextProperty, binding);            }        }        public static void SetBindingValidation(Control control,bool canValidation)        {            if ( control is TextBox )            {                BindingExpression bindingExpr= control.GetBindingExpression(TextBox.TextProperty);                Binding curBinding=bindingExpr.ParentBinding;                Binding binding=new Binding()                {                    Source = curBinding.Source,                    Path = curBinding.Path,                    Mode =curBinding.Mode,                    TargetNullValue=curBinding.TargetNullValue,                    ValidatesOnDataErrors = false,                    ValidatesOnNotifyDataErrors = false                };                control.SetBinding(TextBox.TextProperty, binding);            }        }        #endregion


 

BindingOperations.GetBinding 方法

 

BindingOperations 类
 .NET Framework 4
 其他版本


提供用于操作绑定的静态方法,包括 Binding、MultiBinding 和 PriorityBinding 对象。
继承层次结构
System.Object
  System.Windows.Data.BindingOperations

命名空间:  System.Windows.Data
程序集:  PresentationFramework(在 PresentationFramework.dll 中)
语法
C#
C++
F#
VB
public static class BindingOperations

BindingOperations 类型公开以下成员。
方法
    名称 说明
   ClearAllBindings  从指定的 DependencyObject 移除所有绑定,包括 Binding、MultiBinding 和 PriorityBinding 类型的绑定。
   ClearBinding  从属性中移除绑定。(如果有。)
   GetBinding  检索在指定属性上设置的 Binding 对象。
   GetBindingBase  检索在指定属性上设置的 BindingBase 对象。
   GetBindingExpression  返回与指定对象上的指定的绑定目标关联的 BindingExpression 对象。
   GetBindingExpressionBase  检索在指定属性上设置的 BindingExpressionBase 对象。
   GetMultiBinding  检索在指定属性上设置的 MultiBinding 对象。
   GetMultiBindingExpression  返回与指定对象的指定绑定目标属性关联的 MultiBindingExpression 对象。
   GetPriorityBinding  检索在指定属性上设置的 PriorityBinding 对象。
   GetPriorityBindingExpression  返回与指定对象的指定绑定目标属性关联的 PriorityBindingExpression 对象。
   IsDataBound  返回一个值,该值指示指定的属性当前是否是数据绑定的。
   SetBinding  创建 BindingExpressionBase 的新实例,并将其与指定的绑定目标属性关联。

页首
备注

此类公开一组用作数据绑定的帮助器操作的静态方法。
版本信息
.NET Framework
受以下版本支持:4、3.5、3.0
.NET Framework Client Profile
受以下版本支持:4、3.5 SP1
平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2


 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列

原创粉丝点击