WP7:旋转弹出+内容?

时间:2011-03-10 09:36:17

标签: silverlight windows-phone-7 popup rotation

我一直在谷歌搜索这个问题已经有一段时间了,但还没能找到适合我的解决方案。 问题是我有一个带有用户控件的弹出控件,用户可以在其中输入listpicker的新值。这一切都在纵向模式下工作正常,但如果手机旋转(模拟器),弹出窗口仍保持纵向模式。当手机已处于横向状态时打开弹出窗口,也没有效果。

有没有办法纠正这个问题?我见过有人建议使用Rotatetransform,但如果我在文本框等上这样做,它会完全消失:/

2 个答案:

答案 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;