在Silverlight中Bindig很有用无论是数据显示还是验证都要使用绑定,绑定分为以下几种用法
1.绑定属性
用法:
{Binding Path=属性}
2.绑定数据上下文,在DataGrid中就是当前行对象
{Binding .}
这个一般自己要写一个转换器进行转换处理,例如:
{Binding ., Converter={StaticResource MyUIConverter1}, ConverterParameter=019}
使用转换器,传入参数然后自己想怎么转就怎么转
另外绑定还可以用代码进行绑定,例如对文本框的Text属性进行绑定,我们可以写一个通用工具类
public class UITools{
public static void SetTextBoxBinding(string path,TextBox txt)
{
Binding bd = new Binding(path);
bd.Mode = BindingMode.TwoWay;
bd.ValidatesOnExceptions = true;
bd.NotifyOnValidationError = true;
txt.SetBinding(TextBox.TextProperty, bd);
}
}
这样绑定就简单了
UITools.SetTextBoxBinding("DepartName", txtName);
就可以对txtName的Text属性进行绑定
你也可以使用扩展方法进行处理:
将UITools改变static类:
public static class UITools{
public static void SetTextBoxBinding(string path,TextBox txt)
{
Binding bd = new Binding(path);
bd.Mode = BindingMode.TwoWay;
bd.ValidatesOnExceptions = true;
bd.NotifyOnValidationError = true;
txt.SetBinding(TextBox.TextProperty, bd);
}
//扩展方法
public static void SetTextBind(this TextBox txt, string path)
{
SetTextBoxBinding(path, txt);
}
}
绑定代码:
txtName.SetTextBind("DepartName");