我一直在谷歌搜索这个问题已经有一段时间了,但还没能找到适合我的解决方案。 问题是我有一个带有用户控件的弹出控件,用户可以在其中输入listpicker的新值。这一切都在纵向模式下工作正常,但如果手机旋转(模拟器),弹出窗口仍保持纵向模式。当手机已处于横向状态时打开弹出窗口,也没有效果。
有没有办法纠正这个问题?我见过有人建议使用Rotatetransform,但如果我在文本框等上这样做,它会完全消失:/
答案 0 :(得分:4)
我认为这可能是Popup
控件中的错误;我当然听过之前提出的问题。但是,我也听说Popup
控件的性能不是那么好,所以我认为你最好只使用常规框架元素(例如Grid
)来控制它您的弹出内容并相应地显示/隐藏它(如果合适,使用动画)。至少这样,当页面方向改变时,它将正确旋转。
答案 1 :(得分:2)
不要旋转弹出窗口,而是在弹出窗口中放置边框并在边框中加载内容。
我让它像这样工作:
//In .xaml
<Popup x:Name="myPopup">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="480" />
</Grid.RowDefinitions>
<Border x:Name="popupBorder"/>
</Grid>
</Popup>
//In .xaml.cs
popupBorder.Child = new MyPopupPage(); //MyPopupPage is the "Windows Phone Landscape Page"
myPopup.IsOpen = true;