小编典典

Windows Phone 7文本框的“ UpdateSourceTrigger = PropertyChanged”等效项

c#

有没有一种方法可以让Windows Phone 7中的TextBox在用户键入每个字母而不是失去焦点后更新绑定?

就像下面的WPF TextBox一样:

<TextBox Text="{Binding Path=TextProperty, UpdateSourceTrigger=PropertyChanged}"/>

阅读 301

收藏
2020-05-19

共1个答案

小编典典

WP7的Silverlight不支持您列出的语法。而是执行以下操作:

<TextBox TextChanged="OnTextBoxTextChanged"
         Text="{Binding MyText, Mode=TwoWay,
                UpdateSourceTrigger=Explicit}" />

UpdateSourceTrigger = Explicit在这里是明智的选择。 它是什么?
显式:仅在调用UpdateSource方法时更新绑定源。当用户离开时,它为您节省了一个额外的绑定集TextBox

在C#中:

private void OnTextBoxTextChanged( object sender, TextChangedEventArgs e )
{
  TextBox textBox = sender as TextBox;
  // Update the binding source
  BindingExpression bindingExpr = textBox.GetBindingExpression( TextBox.TextProperty );
  bindingExpr.UpdateSource();
}
2020-05-19