我们正在编写需要输入波兰语等语言字符的软件。中文。这些语言广泛使用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应用程序的权限等(我觉得,这个东西有点生锈)。
任何有想法的人?