我有一个运行良好的 C# WPF MVVM 应用程序。
唯一的问题是当我修改文本框并单击菜单时。如果我在不单击另一个控件的情况下执行此操作,则永远不会触发 view->viewmodel 事件,因为文本框没有失去焦点。如果我错了,请纠正我,但我认为 RaisePropertyChanged 仅在 LostFocus (或 OnBlur 或任何类似事件)上触发。
因此,在编辑文本框后立即单击菜单保存按钮会导致视图模型使用旧值保存数据。
所以,恢复:
这个序列工作正常:
- 编辑文本框
- 单击另一个控件
- RaisePropertyChanged 被触发,视图模型被更新
- 点击菜单上的保存按钮
- 以正确值保存的数据
这个序列给了我一个错误:
- 编辑文本框
- 点击菜单上的保存按钮
- 以正确值保存的数据
如何解决这个问题?