当我将子视图模型中的属性绑定到TextBox
时,无论我在绑定上设置什么模式,源都不会更新。
xaml代码是这样的:
<TextBox Text="{Binding Path=OrderDetail.CashPaid, Mode=TwoWay}"/>
当加载视图时,绑定系统会查询CashPaid
属性一次。但无论何时编辑文本,该值都不会更新源。我必须在这里遗漏一些东西,否则WPF数据绑定系统不支持这种绑定。
答案 0 :(得分:2)
您还需要确保OrderDetail实现了INotifyProperty的更改,并确保在更改时通知您的CashPaid属性。有关此问题的详细信息,请参阅MSDN文档。
http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx
答案 1 :(得分:1)
默认情况下,TextBox
只会在焦点离开控件时更新绑定源。如果您将UpdateSourceTrigger
设置为PropertyChanged
,则会在用户输入时更新该属性:
<TextBox Text="{Binding Path=OrderDetail.CashPaid, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
答案 2 :(得分:0)
使用Snoop检查TextBox文本属性是否有错误绑定。大部分时间你都可以很好地了解使用它时真正发生的事情