c# - 文本框双向绑定在文本框未聚焦之前不会传输。每次按键都需要更新
问题描述
在 C#/UWP 中,如何获得双向绑定以更新文本框中每次按键时的字段,而不是在键入结束时通过在填写文本框控件后取消焦点来更新字段?以下是详细信息:
我有一个绑定到类字符串变量的文本框。
<StackPanel Name="MyStackPanel Margin="10">
<TextBox Header="MyTextBox:Item1"
Text="{Binding MyField, Mode=TwoWay}"/>
<Button Name="MyButton" Content="Next" Click="Next_Item"/>
</StackPanel>
public class MyItem {
public string MyField {get;set;}
}
public class MyPage : Page {
MyItem MyItem1 = new MyItem();
MyItem MyItem2 = new MyItem();
public MyPage() {
MyStackPanel.DataSource = MyItem1;
}
bool toggle = false;
public MyButton_Click( ... ) {
if (!toggle) {
MyStackPanel.DataSource = MyItem2;
MyTextBox.Header = "MyTextBox:Item2";
toggle = true;
}
else {
MyStackPanel.DataSource = MyItem1;
MyTextBox.Header = "MyTextBox:Item1";
toggle = false;
}
}
我遇到的问题是,当我填写 MyTextBox,然后单击 MyButton 而没有取消聚焦 MyTextBox 控件时,在这种情况下,双向绑定无法将 MyTextBox 的文本复制回绑定对象 MyItem1.MyField . 但是,如果我在 MyTextBox 中键入内容,然后取消聚焦 MyTextBox 控件,然后单击按钮,则绑定有效。
有关如何解决此问题的任何项目?
解决方案
如果您希望在键入时更新源,请将绑定的 UpdateSourceTrigger 设置为 PropertyChanged。
检查这个 micosoft 文档
推荐阅读
- postgresql - 将 json 条目转换为表记录的最佳方法
- awk - 查找匹配的代码块并在倒数第二行添加或替换内容
- pdf - 从 PPTX 创建可访问的 PDF - 对某些句子不起作用 - 为什么?
- c++ - Quectel EC25 发送短信并收到+CMS ERROR 305
- php - 为什么这个未定义的数组键错误发生在我的工作室可视代码中?有人能帮我吗?
- c# - 等待在异步方法中调用回调
- node.js - Nest.js/mongoose 和 TypeScript - Prop 装饰器中的错误
- python - spaCy v3 基于现有模型训练 NER 或将自定义训练的 NER 添加到现有模型
- java - 将小数从一个基数转换为另一个基数
- postgresql - postgresql UPDATE 和 RETURNING 查询不返回最新值