0

我正在创建一个底部带有文本框的聊天窗口并发送底部。当我点击文本框时出现键盘,但显示文本框和键盘之间的间隙。如何消除windows phone中文本框和键盘之间的间隙

4

1 回答 1

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);
    }
于 2013-04-18T01:30:51.737 回答