0

我正在开发Windows Phone 7.1应用程序,并且在其中有一个ItemsControl的ScrollViewer,其中ItemsControl中的每个项目都包含两个TextBoxes。当用户点击屏幕下半部分的文本框输入值时,屏幕通常会向上滚动,以便屏幕上的键盘不会遮住聚焦的文本框。但是,在我的应用程序中,这只发生在大约50%的时间。另外50%,键盘仍然弹出,但屏幕不会向上滚动,并且焦点TextBox被屏幕键盘覆盖。Windows Phone - 当键盘出现时,页面有时不会自动滚动

因为它并不总是发生,我不能可靠地使问题发生或阻止它,我猜测有两种线程之间发生某种竞争条件涉及更新布局或什么。只是一个猜测。

有没有一种方法,我应该在文本框的GotFocus事件中调用以确保自动滚动时,重点放在一个文本框将工作?也许类似this other question的回答?

回答

0

我知道问题来自我在TextBox_GotFocus事件处理程序中做的事情:当键盘出现时,我将应用程序栏的不透明度更改为1.0,并将不透明度更改回其旧值(〜0.7)在TextBox_LostFocus事件处理程序中。删除ApplicationBar.Opacity = 1.0;行解决了问题。但是,它并没有解决这个问题引入的真正问题,这似乎是一个多线程问题。

相关问题