WPF listview数据绑定 - 如何在不标记的情况下强制更新到底层对象?

Ami*_*mir 5 wpf

我有一个绑定到BindingList <T>的WPF ListView.绑定就像一个魅力,但我必须从单元格中跳出来获取绑定属性才能更新....这是一个问题,因为大多数用户在单击保存按钮之前不会跳出最后一列.

如何强制列表视图"保持"对绑定的DataContext的更改,而不做一些hackish.

Mat*_*ton 11

WPF中的绑定有一个名为" UpdateSourceTrigger " 的属性,它告诉Binding何时更新UI绑定的东西.默认情况下,它为Text属性设置为"LostFocus",这是您最有可能使用的属性.

在您的绑定中将触发器更改为"PropertyChanged",如下所示:

Text="{Binding Foo,UpdateSourceTrigger=PropertyChanged}"
Run Code Online (Sandbox Code Playgroud)

...现在,当文本在UI中更改时,源"Foo"属性将更新.

还有一个UpdateSourceTrigger的"显式"设置,如果您需要暂停写入对源的任何更改,直到用户单击"确定"按钮,这是很方便的.