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