我是 XAML 和 Windows 8 手机开发新手,正在学习数据绑定(bind)。 Here ,建议我需要使用,
UpdateSourceTrigger=PropertyChanged
但是当我尝试在 xaml 中使用它时,它会给出错误“未找到请求的值“PropertyChanged”。”相反,它可以正常工作,
UpdateSourceTrigger=Default
我做错了什么,或者它在新版本中已被弃用。
我的代码示例,
<TextBox x:Name="txt1" Height="100" Width="100"></TextBox>
<TextBlock Grid.Row="1" x:Name="txt2" Height="100" Width="100"
Text="{Binding Text,ElementName=txt1,
UpdateSourceTrigger=PropertyChanged}"></TextBlock>
谢谢。
最佳答案
UpdateSourceTrigger=PropertyChanged
在 Windows Phone XAML 中不受支持。
您可以使用UpdateSourceTrigger=Explicit
来代替,
并在后面的代码中处理源更新:
private void OnTextBoxTextChanged( object sender, TextChangedEventArgs e )
{
TextBox textBox = sender as TextBox;
BindingExpression bindingExpr = textBox.GetBindingExpression( TextBox.TextProperty );
bindingExpr.UpdateSource();
}
另一种选择是使用 Coding4Fun's library绑定(bind)助手。在这种情况下,语法将是:
<TextBox
Text="{Binding FooBar, Mode=TwoWay}"
local:TextBinding.UpdateSourceOnChange="True" />
关于c# - 为什么数据绑定(bind)不能与 PropertyChanged 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20965338/