WPF中TextBox的输入问题

casker 2011-03-16 07:58:39
我在程序窗体放置了一个TextBox(除长宽和Margin外未更改任何属性)

但我调试程序时发现,这个TextBox除了空格和删除外不接收任何其他的输入,更改输入法至中文时却可以输入(但此时方向键仍无效)

工程为.Net 3.0 WPF程序,TextBox是被放在一个Grid中,以下是其XAML定义

<TextBox HorizontalAlignment="Left" Margin="50,0,0,0" Name="TextSearch" Width="150" />


这是什么原因?
...全文
272 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
casker 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fangxinggood 的回复:]

新建一个WPF工程确认下。

还是有什么事件或者全局的style控制了你现在的画面。
[/Quote]

新建的工程中TextBox正常。
我重新检查了一次xaml,并未有针对TextBox的style
机器人 2011-03-17
  • 打赏
  • 举报
回复
新建一个WPF工程确认下。

还是有什么事件或者全局的style控制了你现在的画面。
casker 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bunliney 的回复:]

.Net有一个BUG,在WinForm下使用Show显示窗体会使输入出现问题,原因是WinForm和WPF的所使用的输入方式不同。
一般可以在Show之前使用以下方式解决
VB.NET code

System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(要显示的Window)


[/Quote]

原来真的是这个问题,谢谢了~
casker 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fangxinggood 的回复:]

输入法程序的问题???
[/Quote]

我查看了KeyDown事件,确实可以接收到所按下的键,但TextBox却没有给反馈。
就类似是在KeyDown中e.Handled = True了一样
Bullatus 2011-03-17
  • 打赏
  • 举报
回复
.Net有一个BUG,在WinForm下使用Show显示窗体会使输入出现问题,原因是WinForm和WPF的所使用的输入方式不同。
一般可以在Show之前使用以下方式解决

System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(要显示的Window)


希望对你有帮助
机器人 2011-03-16
  • 打赏
  • 举报
回复
输入法程序的问题???
casker 2011-03-16
  • 打赏
  • 举报
回复
重新启动VS了,也清理然后重新编译了,还是一样

方向键始终无反应,其他键在中文输入法下可用,英文下除了空格全不可用
暖枫无敌 2011-03-16
  • 打赏
  • 举报
回复
你开发环境有问题吧,你关闭IDE,重新打开,然后编译运行看看。
机器人 2011-03-16
  • 打赏
  • 举报
回复
没遇过,这简直是。。。不可能发生的。

没别的全局style设定了?

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧