在模板列表控件中丢失Alt-Gr字符

时间:2012-06-14 09:35:16

标签: .net wpf unicode

我们正在编写需要输入波兰语等语言字符的软件。中文。这些语言广泛使用Alt-Gr键,例如西班牙语中的Alt-Gr-OemQuestion或波兰语中的ß字符Alt-Gr-s。

的问题:

这在普通文本框等中工作正常。但是如果我在列表控件内的数据模板中有一个文本框,则上面的西班牙语案例中的}字符会丢失,因为列表控件会吸收键击,因为Alt -Gr实际上是Left-Ctrl + Right-Alt,并且与OemQuestion结合使用它会触发相当于Ctrl-A并选择list-control中的所有项目!

在波兰语中使用Alt-Gr-s的类似问题,其中基本的左Ctrl +右Alt-s实际上执行了Ctrl-s并触发了保存!

我们已经找到了一个解决方案,使用pinvoke在KeyDown事件中使用ToUnicode函数来获取正确的字符并将其插入到文本框中,但这违反了使用在隔离存储中运行的Click-Once应用程序的权限等(我觉得,这个东西有点生锈)。

任何有想法的人?

0 个答案:

没有答案