显示软键盘时,是否有人知道如何移动页面的内容(可能设置了相对边距或类似的内容)。
这是我的应用程序中的示例页面。
因此,我希望当用户开始在文本框中输入电话号码时,底部按钮将显示在软键盘上方。结果,我想要这样的东西:
PS:对不起,屏幕上的俄语。
这有点棘手,但是正如我尝试过的那样应该可以工作。我使用InputPane的显示和隐藏事件来更改按钮的转换。在页面的构造函数中,我添加了以下代码:
Windows.UI.ViewManagement.InputPane.GetForCurrentView().Showing += (s, args) =>
{
GeneralTransform gt = loginButton.TransformToVisual(this);
Point buttonPoint = gt.TransformPoint(new Point(0, loginButton.RenderSize.Height - 1));
var trans = new TranslateTransform { Y = -(buttonPoint.Y - args.OccludedRect.Top) };
loginButton.RenderTransform = trans;
args.EnsuredFocusedElementInView = true;
};
Windows.UI.ViewManagement.InputPane.GetForCurrentView().Hiding += (s, args) =>
{
var trans = new TranslateTransform { Y = 0 };
loginButton.RenderTransform = trans;
args.EnsuredFocusedElementInView = false;
};
您只需要记住InputPane适用于整个应用程序-离开页面后,您可能必须取消订阅这些事件,否则您可能会获得异常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句