当前位置: 首页 > 编程语言 > C#

WPFRaisePropertyChanged事件失去焦点分享

时间:2023-04-10 19:56:09 C#

WPFRaisePropertyChanged事件失去焦点我有一个C#WPFMVVM应用程序可以正常工作。唯一的问题是当我修改文本框并单击菜单时。如果我在不单击另一个控件的情况下执行此操作,则永远不会触发video->viewmodel事件,因为文本框不会失去焦点。如果我错了请纠正我,但我认为RaisePropertyChanged仅在LostFocus(或OnBlur或任何类似事件)上触发。因此,在编辑文本框后立即单击菜单保存按钮会导致视图模型使用旧值保存数据。所以,恢复:这个序列没问题:编辑文本框点击另一个控件触发RaisePropertyChanged,更新视图模型点击菜单上的“保存”按钮数据用正确的值保存这个序列给我一个错误:编辑文本框点击“保存”按钮数据菜单以正确的值保存如何解决这个问题?这是WPF和WinForms中文本框的常见问题。您可以通过指示绑定系统在每次对TextBox进行更改时更新VM而不是失去焦点来解决此问题。为此,请将绑定的UpdateSourceTrigger设置为PropertyChanged。每当TextBox为其Text属性引发PropertyChanged事件时,这将被写回VM。对于TextBox.Text依赖属性,其默认的UpdateSourceTrigger是LostFocus(即,当控件失去焦点时更新您的视图模型属性)。要在输入文本后立即更新属性,请设置UpdateSourceTrigger=PropertyChanged。(有关详细信息,请参阅上面的链接-它实际上专门涵盖了您的示例。)以上就是C#学习教程的全部内容:WPF失去焦点的RaisePropertyChanged事件。侵权请点击右侧联系管理员删除。如需转载请注明出处: