我是XAML和Windows 8手机开发和学习数据绑定的新手。 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>
感谢。
答案 0 :(得分:4)
UpdateSourceTrigger=PropertyChanged
。
您可以改用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 BindingHelper。在这种情况下,语法将是:
<TextBox
Text="{Binding FooBar, Mode=TwoWay}"
local:TextBinding.UpdateSourceOnChange="True" />
答案 1 :(得分:0)
UpdateSourceTrigger与目标控件的更新无关。相反,例如,当您执行TextBox的某些验证时,它非常有用。
如果在XAML代码后面有(视图)模型,则应添加INotifyPropertyChanged接口并按照指南教导实现它。
以下是一个示例:http://www.codeproject.com/Articles/41817/Implementing-INotifyPropertyChanged
XAML代码段应该可以使用,至少对于WPF而言。什么不起作用?