我的 ViewModel 实现了 INotifyPropertyChanged 和 INotifyDataErrorInfo 接口。当属性更改时,将触发验证,从而启用/禁用“保存”按钮。
由于验证步骤非常耗时,因此我使用了“延迟”绑定属性。
我的问题是,我可以在更新“名称”属性之前键入更改并按“保存”。
我想在按下 SaveChanges 时强制立即更新 TextBox.Text。目前,我必须在执行之前添加睡眠,以确保 ViewModel 上发生所有更改。
<TextBox Text="{Binding Name, UpdateSourceTrigger=PropertyChanged, Delay=1000}" />
<Button Command="{Binding SaveChanges}" />
有人有一些指点吗?
从 .NET 4.5 开始,存在 BindingOperations
BindingOperations.GetSourceUpdatingBindings(this).ToList().ForEach(x => x.UpdateSource());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)