UI IsDirty与实体IsDirty

时间:2012-07-09 06:45:47

标签: wpf binding save

我很清楚WPF绑定的INotifyPropertyChanged和INotifyCollectionChanged。这已经实施并且按预期工作。因此,对我们实体上的属性的更改将设置其“IsDirty”标志。反过来,打开保存功能,所有通过绑定,你可能会说漂亮。

但是,我们最近提出了一个更改请求,要求在字段更改后立即启用“保存”按钮(即使用按下第一次按键),就像撤消应用程序命令一样当您键入文本框时。因此,保存按钮必须知道何时在表单上更改每个字段,而不是通过绑定在实体中更改属性。

这个请求帮助的主要原因是我们的一个表单只有一个字段发生变化(其他一切通常都是默认值),但是用户仍然需要跳出字段以启用“保存”按钮,而不是只是能够马上保存。

1 个答案:

答案 0 :(得分:1)

您需要将UpdateSourceTrigger更改为PropertyChanged

每次文本更改时都会更新绑定,而不是LostFocus - 这是文本框的默认设置。

<TextBlock Name="txtName" Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}" />