wpf - 更改文本框 IsReadOnly 属性后,无法输入中文
问题描述
在MouseDoubleClick
文本框上可以编辑输入,但不能输入中文,切换到其他窗口(或在主窗口单击winform文本框)返回时,现在可以输入中文了。
演示:
https://img2018.cnblogs.com/q/22977/201904/22977-20190410130035963-221502838.gif
<UserControl.Resources>
<Style TargetType="TextBox">
<Setter Property="IsReadOnly" Value="True"></Setter>
<Setter Property="Width" Value="200"></Setter>
<Setter Property="Height" Value="40"></Setter>
</Style>
</UserControl.Resources>
<Grid>
<TextBox InputMethod.IsInputMethodEnabled="True" InputMethod.PreferredImeState="On" MouseDoubleClick="TextBox_MouseDoubleClick"></TextBox>
</Grid>
private void TextBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var txtBox = (TextBox)sender;
txtBox.IsReadOnly = false;
}
更新:代码有效
private void TextBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var txtBox = (TextBox)sender;
txtBox.IsReadOnly = false;
InputMethod.SetIsInputMethodEnabled(txtBox , false);
InputMethod.SetIsInputMethodEnabled(txtBox , true);
}
解决方案
推荐阅读
- r - 如何在绘图中添加相关值( ggplot )
- apollo - Apollo GraphQL 出现“不变违规”错误
- c# - 使用 C# 9 记录添加评论的正确方法是什么?
- swift - 快速接受任何类型测量的函数
- r - 使用 position_jitterdodge 对多面图中的点进行子集化
- sql - SQL:如何使用 group by 从一个表中选择不在另一个表中的行?
- serenity-platform - 在字段更改时在运行时验证字段
- python - 为单链表实现查找节点功能
- r - 在 R 中并行化一个重要的 Gibbs 采样器:RcppThread 与 RcppParallel
- asp.net-mvc - Razor 页面路由在 MVC 应用程序中不起作用