none
WPF中的PasswordBox控件在windows 10操作系统下运行虚拟键盘弹出异常 RRS feed

  • 问题

  • 您好,目前我们开发的wpf程序在surface pro 4的 windows 10 专业版(版本号1803,操作系统版本号17134.1)上运行遇到了很棘手的问题。我自己写了个一个非常简单的wpf demo,发现同样如此。这个问题的表现如下:

    我的窗口里就一个TextBox控件和一个PasswordBox控件。点击TextBox控件,虚拟键盘弹出,我们可以在TextBox里输入东西,但是当我切换到PasswordBox控件时,虚拟键盘就会自动关闭,而且无论如何点击PasswordBox控件,都无法再弹出虚拟键盘。

    这个问题直接导致我们的wpf程序在surface pro 4的 windows 10 专业版(版本号1803,操作系统版本号17134.1)上无法使用。请问这个该怎么办?是系统bug么?

    我尝试将操作系统升级到了windows 10 17134.1的下一个版本,问题依旧。

    急等微软专家回复。


    Jason

    2018年5月28日 5:46

答案

  • 你好,

    经测试,如果使用全屏,不手工点小键盘,是不会弹出虚拟键盘的,包括Textbox, 这个问题我已经升级给微软了。

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 Jason Yuan 2018年5月31日 3:24
    2018年5月31日 3:18

全部回复

  • 你好,

    你可以试一下下面的WPF 扩展API。

    https://github.com/maximcus/WPFTabTip

    或者在PasswordBox 的Keydown事件加入手动调用osk.exe

    Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.System) + Path.DirectorySeparatorChar + "osk.exe");

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年5月28日 9:10
  • 张工好,

    1. 我试过自己去控制passwordbox的虚拟键盘弹出。我使用的是passwordbox的gotfocus事件。但是自己控制有一个问题,这会影响文本框的虚拟键盘显示。比如我点击文本框了,虚拟键盘弹出,然后我点击passwordbox,结果虚拟键盘就关闭并且缩回去了,虽然我在gotfocus事件里去调用tabtip这个键盘,然后并没有用。这样重复多次后,干脆文本框也弹不出虚拟键盘了。

    因为我是surface,不外接鼠标和键盘,所以我是用了gotfocus事件,没有使用kedown。

    2.使用WPFTabTip扩展

    不知道这个扩展会不会影响文本框的虚拟键盘响应。因为windows 10操作系统对于tablet设备是支持desktop程序调用虚拟键盘的,如果再采用扩展,这会不会和操作系统的控制功能冲突,导致出现更多的输入问题啊。因为在1803上一个版本,passwordbox还是可以弹出来虚拟键盘的,但是1803和以后的版本就不行了。

    我特别想知道这是不是一个windows 10新系统的bug,微软是不是有修复计划。好捉急。


    Jason

    2018年5月28日 9:25
  • 你好,

    我这边暂时没有没有环境来重现你的问题,等过2天,我们设备环境搭好的,我会测试你的问题,如果确实存在的话,我这边会发邮件上报的。

    目前的你可以暂时在gotfocus 事件中手动调用osk.exe 看看。

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年5月29日 2:29
  • 谢谢张工,焦急等待您的测试结果。我今天下载了GitHub Desktop version 1.2.0(release notes),问题也一样。在surface pro 4 windows 10 1803(17134.81)上也是密码输入框弹不出虚拟键盘。目前我们的客户在等待我们的研究结果,所以希望您有消息能立即告知。非常感谢您的帮助。

    Jason

    2018年5月29日 2:40
  • 张工,不知道有没有最新的进展?使用gotfocus会引发其他问题,如上楼的回复。所以,我们对这个问题很关注。

    Jason

    2018年5月31日 1:24
  • 你好,

    我这边由于没有Surface Pro4 的设备,我使用了Surface Book上面的做的测试,TextBook 和PasswordBox 都是通过手动调用虚拟键盘的。请看右下角的图标,不知到你那边有这个图标吗, 是否可以直接手动调出来。

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年5月31日 2:17
  • 张工,您好。 1.我的surface上任务栏里没有键盘的图标。 2.我们的程序是全屏的,所以即使任务栏上有那个图标,但是全屏下也点不了。 不知道您使用surface book 不接键盘时,点击文本输入框是不是会自动弹出虚拟键盘,点击密码输入框是不是不自动弹出来?


    Jason


    • 已编辑 Jason Yuan 2018年5月31日 2:48 加入图片
    2018年5月31日 2:23
  • 我又发了一张图,是我的surface的截图,操作系统1803,任务栏上没有键盘。而且我们希望用户不是靠点击键盘图标弹出虚拟键盘,而是自动弹出。

    我们还在焦急关注,谢谢张工。


    Jason

    2018年5月31日 2:49
  • 你好,

    经测试,如果使用全屏,不手工点小键盘,是不会弹出虚拟键盘的,包括Textbox, 这个问题我已经升级给微软了。

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 Jason Yuan 2018年5月31日 3:24
    2018年5月31日 3:18
  • 好的,谢谢张工了,要是有后续系统升级修复此bug的消息还望通知一下。辛苦您啦。非常感谢。

    Jason

    2018年5月31日 3:19
  • 张工,目前该问题微软更新解决了么?想从您那里了解下微软的解决计划。

    Jason

    2018年8月23日 8:03