如何在轻触时删除Windows Phone中TextBox下方显示的底部填充?

时间:2013-02-22 02:57:41

标签: textbox windows-phone-8 windows-phone padding

我正在尝试在Windows Phone 8中实现聊天视图。当用户点击我的视图底部的TextBox时,视图会在键盘出现时垂直移动,但在底部会显示额外的填充量。视图。我已经在其他应用程序中看到过这种情况。

这是我的应用:

enter image description here

这是一个明确解决问题的等效应用程序(Whatsapp)。

enter image description here

对于如何以一种不会打破我观点的方式纠正这个问题,任何人都有任何想法?当聚焦/未聚焦未成功时,我尝试手动修改填充。

3 个答案:

答案 0 :(得分:0)

您始终可以尝试使用负值给出底部保证金。示例给出-40px并查看。

答案 1 :(得分:0)

如果您正在使用Grid,请将Height设置为TextBox所在的“Auto”。

设置InputScope =“默认”。

答案 2 :(得分:0)

好消息!我已经设法解决了这个问题。下面的代码会阻止页面向上移动,然后在文本框的底部添加一个边距,将其放在键盘上方。 417以下的值似乎对我有用,但您可以将其更改为您喜欢的任何内容。使用此方法还可以阻止其他内容像对话一样被推离屏幕,因为当键盘处于活动状态时,它将完全可滚动。

private void TextBox_GotFocus_1(object sender, RoutedEventArgs e)
    {
        var rootFrame = Application.Current.RootVisual as PhoneApplicationFrame;
        rootFrame.RenderTransform = new CompositeTransform() { TranslateY = +0 };
        TextInput2.Margin = new Thickness(12, 0, 12, 417);
    }

private void TextBox_LostFocus_1(object sender, RoutedEventArgs e)
    {
        var rootFrame = Application.Current.RootVisual as PhoneApplicationFrame;
        rootFrame.RenderTransform = new CompositeTransform() { TranslateY = +0 };
        TextInput2.Margin = new Thickness(12, 0, 12, 12);
    }