InputPane.Showing/Hiding从未调用过

本文关键字:调用 Hiding Showing InputPane | 更新日期: 2023-09-27 17:59:49

当在WP8应用程序中打开软件键盘时,我正试图对XAML元素进行一些智能调整,但由于某些原因,InputPane.Showing/Hiding事件从未被调用。在我的OnNavigatedTo覆盖中,我有以下内容:

InputPane inputPane = InputPane.GetForCurrentView();
inputPane.Showing += (InputPane sender, InputPaneVisibilityEventArgs args) =>
{
    outputTextScroller.Height -= args.OccludedRect.Height;
};
inputPane.Hiding += (InputPane sender, InputPaneVisibilityEventArgs args) =>
{
    outputTextScroller.Height += args.OccludedRect.Height;
};

将断点放入lambda表达式中,我发现代码永远不会被调用。没有抛出任何异常,应用程序中的其他内容似乎也没有出现故障。有人知道为什么这些事件不会被触发吗?当我点击数据输入的TextBox时,或者点击一个TextBlock时,输入窗格就会打开,然后它会聚焦该数据输入的TextBox。

InputPane.Showing/Hiding从未调用过

我添加了一份关于Microsoft Connect的错误报告,如果您也有兴趣解决此问题,请投赞成票:https://connect.microsoft.com/VisualStudio/feedback/details/814487/allow-inputpane-events-to-be-triggered-in-non-native-windows-phone-8-applications

InputPane的文档指出,它只支持"仅限本机应用程序"。为了确定虚拟键盘何时显示,您需要处理GotFocus和LostFocus事件。