WPF(MVVM)数据绑定问题

时间:2009-07-17 16:32:35

标签: wpf mvvm data-binding binding

当我将子视图模型中的属性绑定到TextBox时,无论我在绑定上设置什么模式,源都不会更新。

xaml代码是这样的:

<TextBox Text="{Binding Path=OrderDetail.CashPaid, Mode=TwoWay}"/>

当加载视图时,绑定系统会查询CashPaid属性一次。但无论何时编辑文本,该值都不会更新源。我必须在这里遗漏一些东西,否则WPF数据绑定系统不支持这种绑定。

3 个答案:

答案 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文本属性是否有错误绑定。大部分时间你都可以很好地了解使用它时真正发生的事情