Silverlight4-Behavior-即时更新绑定的Password行为。

一些平常用到的行为,慢慢整理下。从最简单的开始。

TextBox默认的更新行为是在失去焦点时进行的,为了方便在输入框的值发生变化时就即时更新,在Prism里就提供了即时更新绑定的Text的行为,叫做“UpdateTextBindingOnPropertyChanged”。

同样的事也发生在PasswordBox里,有时候在绑定Password的时候也需要即时更新输入的绑定值,那么参考这个行为随便写个。

整个代码也非常简单,如下:

1 public class UpdatePasswordBindingOnPropertyChanged : Behavior < PasswordBox >
2 {
3 private BindingExpression _expression;
4
5 protected override void OnAttached()
6 {
7 base .OnAttached();
8
9 _expression = this .AssociatedObject.GetBindingExpression(PasswordBox.PasswordProperty);
10 this .AssociatedObject.PasswordChanged += this .OnPasswordChanged;
11 }
12
13 protected override void OnDetaching()
14 {
15 base .OnDetaching();
16
17 this .AssociatedObject.PasswordChanged -= this .OnPasswordChanged;
18 _expression = null ;
19 }
20
21 private void OnPasswordChanged( object sender, EventArgs args)
22 {
23 _expression.UpdateSource();
24 }
25 }
http://www.cnblogs.com/HalfwayMonk/admin/EditPosts.aspx?opt=1

你可能感兴趣的:(silverlight)