此主题由人工翻译。 将光标移到文章的句子上,以查看原文。 译文
原文 ,按照文章经常改变绑定的方向模式,状态以及校验模式,这样比较方便,
#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 并不是对每个平台的所有版本都提供支持。有关支持的版本的列