【发布时间】:2013-12-06 00:55:24
【问题描述】:
我正在开发一个 Windows 8 应用程序,其中我在屏幕左下方有一个弹出对话框,如果显示触摸键盘,则弹出窗口不可见,是否有一个属性来确定是否显示键盘,如果显示触摸键盘,则向上移动弹出窗口。
【问题讨论】:
标签: wpf windows microsoft-metro
我正在开发一个 Windows 8 应用程序,其中我在屏幕左下方有一个弹出对话框,如果显示触摸键盘,则弹出窗口不可见,是否有一个属性来确定是否显示键盘,如果显示触摸键盘,则向上移动弹出窗口。
【问题讨论】:
标签: wpf windows microsoft-metro
查看这篇博文:Tips and Tricks for C# Metro developers: Handling the virtual keyboard
您可以使用InputPane 的Showing 和Hiding 事件。这里flyout 是Popup 对象。
int flyoutOffset = 0;
Windows.UI.ViewManagement.InputPane.GetForCurrentView().Showing += (s, args) =>
{
flyoutOffset = (int)args.OccludedRect.Height;
flyout.VerticalOffset -= flyoutOffset;
};
Windows.UI.ViewManagement.InputPane.GetForCurrentView().Hiding += (s, args) =>
{
flyout.VerticalOffset += flyoutOffset;
};
【讨论】: