1

基于链接滚动查看器滚动到文本框位置

我尝试在启动键盘时解决滚动问题,但在横向模式下出现问题。

使用问题 (App.Current as App).RootFrame.RenderTransform = new CompositeTransform(); 在横向模式下。

上述解决方案帮助我生成了类似于 Windows Phone 7.5 的默认日历应用程序中的新约会页面的行为。

但是这个 (App.Current as App).RootFrame.RenderTransform = new CompositeTransform(); 不适用于横向页面。

它在纵向模式下按预期工作,但是在改变方向(转动设备)时,页面不会自动转换为横向视图,而是页面看起来类似于纵向视图,其宽度和高度发生了变化。

最初我把它放在 App 类 (App.Current as App).RootFrame.RenderTransform = new CompositeTransform();

它在纵向模式下工作正常。但是在横向模式下,它没有按预期工作。因此,在以方向更改方法分配复合变换之前,我将 (App.Current as App).RootFrame.RenderTransform 恢复为存储在 App 类中的静态变量中的原始值。这使得页面可以正确更改为横向模式。

现在放置(App.Current as App).RootFrame.RenderTransform = new CompositeTransform(); 在文本框焦点方法中,单击文本框时,横向页面会自动变为纵向,其宽度和高度会发生变化,甚至看起来与正确的纵向视图不同。我不知道到底发生了什么。任何帮助都将不胜感激。

任何解决此问题的想法,等待您的宝贵回复。

4

1 回答 1

0

在横向模式下,基于横向左或横向右,使用以下代码

if(orientation == PageOrientation.LandscapeLeft) (App.Current as App).RootFrame.RenderTransform = new CompositeTransform() { Rotation = 90, TranslateX = 480 }; else (App.Current as App).RootFrame.RenderTransform = new CompositeTransform() { Rotation = -90, TranslateY = 800 };

这也将为横向模式正确更改您的页面。这将防止页眉在启动键盘时消失。在滚动查看器中滚动到特定文本框需要通过特定文本框的 GotFocus() 事件中的 ScrollToVerticaloffset() 来处理。

于 2013-02-11T05:39:36.337 回答