在 WPF 应用程序中,我正在创建一个设置窗口来自定义键盘快捷键。
在文本框中,我处理 KeyDown 事件并将 Key 事件转换为人类可读的形式(以及我想要获取数据的形式)。
文本框声明如下
<TextBox Text="{Binding ShortCutText, Mode=TwoWay}"/>
在事件处理程序中,我尝试同时使用
(sender as TextBox).Text = "...";
and
(sender as TextBox).Clear();
(sender as TextBox).AppendText("...");
在这两种情况下,绑定回视图模型都不起作用,视图模型仍然包含旧数据并且不会更新。
另一个方向(从视图模型到文本框)的绑定效果很好。
有没有办法可以在不使用绑定的情况下从代码编辑 TextBox.Text?
或者我的流程中其他地方有错误吗?
var box = sender as TextBox;
// Change your box text..
box.GetBindingExpression(TextBox.TextProperty).UpdateSource();
这应该会强制您的绑定更新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)