关闭时虚拟键盘自动打开charms/settings

Virtual keyboard opens automatically when closing charms/settings

我的应用程序使用虚拟键盘。打开超级按钮栏时,键盘会隐藏起来,但关闭超级按钮栏时,它总会重新出现。我想控制它是否重现

我的程序有几个文件夹,里面有可编辑的文件,虚拟键盘是用来编辑文件的。在魅力栏的 'Settings' 选择中,我添加了一个控件,用于显示 folders/files。当用户在编辑文件时打开虚拟键盘,然后转到超级按钮栏以禁用该文件所在的文件夹时,就会出现问题。我已经编写了一些代码,以便在发生这种情况时关闭文件,但是一旦用户关闭键盘将自动重新打开的超级按钮...让用户继续键入和更改数据!他们甚至可以在文件夹被禁用时欺骗文件以重新打开它!

我已经阅读了其他几个类似性质的问题,但其中 none 个添加了魅力栏的元素。我认为 Windows 8 在键盘启动时打开 charm 栏时记录或标记虚拟键盘以重新打开,并且告诉键盘关闭不会触及该标记(无论如何我不能告诉它在它已经关闭的时候关闭。

如果我能弄清楚如何处理那个假设的标志,或者取而代之让一些代码在键盘重新打开后立即执行,我就能让其余部分正常工作。有什么建议吗?

更新:

我找到了一个解决方法:所有键盘输入现在都经过一个过滤器,检查 folder/file 是否仍然有效,否则忽略输入。不完美,但可以满足我的需求。原始问题仍未得到解答。

虽然我不知道有什么方法可以在charms bar关闭时激活代码,但在打开之前关闭键盘就足够了,因此不会设置为在使用charms bar后重新打开。

这是通过将其添加到初始化程序来实现的:

Window.Current.Activated += Current_Activated;

然后写方法:

private void Current_Activated(object sender, Windows.UI.Core.WindowActivatedEventArgs e)

关于方法触发后如何失去焦点,建议看here