gpt4 book ai didi

wpf - 触发命令时强制绑定(bind)更新

转载 作者:行者123 更新时间:2023-12-04 03:08:48 26 4
gpt4 key购买 nike

有没有办法在触发命令之前或触发命令时更新绑定(bind)?我有一些可以使用命令编辑和保存的文本字段,可通过键盘快捷键访问。由于绑定(bind)通常仅在文本字段失去焦点时更新,因此在按键保存数据时不会保留最后一次更改。相反,我必须先从文本字段中跳出以使其更新然后保存。

有没有办法以优雅的方式强制更新?我正在使用 MVVM(但不是任何 MVVM 框架),所以我想将 UI 特定的东西保留在命令代码之外。此外,我真的不想更改绑定(bind)以在每次更改时更新,只有在失去焦点时才更新它很好。

最佳答案

如果当前元素是 TextBox,您也可以只更新绑定(bind)源,而不是更改焦点。 .您可以对其他控件执行类似的操作,但根据我的经验,我只遇到过 TextBox 的问题。 .

  // if the current focused element is textbox then updates the source.     
var focusedElement = Keyboard.FocusedElement as FrameworkElement;

if (focusedElement is TextBox)
{
var expression = focusedElement.GetBindingExpression(TextBox.TextProperty);
if (expression != null) expression.UpdateSource();
}

关于wpf - 触发命令时强制绑定(bind)更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11085542/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com