InputPane.Showing / Hiding从未调用过

时间:2013-02-17 08:52:48

标签: c# xaml windows-phone-8

我正在尝试在我的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聚焦到该数据条目。

2 个答案:

答案 0 :(得分:2)

我已经在Microsoft Connect上添加了一个错误报告,如果您也有兴趣解决此问题,请提供帮助: https://connect.microsoft.com/VisualStudio/feedback/details/814487/allow-inputpane-events-to-be-triggered-in-non-native-windows-phone-8-applications

答案 1 :(得分:1)

InputPane的文档指出它仅支持“仅限本机应用”。为了确定何时显示虚拟键盘,您需要处理GotFocusLostFocus事件。