当在我的 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 时,输入 Pane 将打开,然后将 TextBox 用于该数据条目。

最佳答案

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

关于c# - InputPane.Showing/Hiding 从未调用过,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14919458/

10-13 08:02