在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");