windows phone 8弹出宽度和高度

Hai*_*der 3 windows-phone-8

我在弹出控件中放置一个网格.我希望根据Windows Phone 8应用程序(480×800,768×1280,720×1280)的3种不同布局大小自动重新调整网格大小.

但似乎我必须明确设置网格的宽度和高度,因为它根据子控件大小重新调整大小,而我希望弹出框在屏幕顶部显示为全部三个分辨率.

任何帮助?

Jus*_*gel 29

让全屏弹出窗口在WP8上工作的最简单方法是将子宽度和高度设置为手机当前的逻辑分辨率.您可以在此处阅读有关WP8多分辨率zen的更多信息,并在此处了解有关WP8多分辨率API的更多信息.

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    var myPopup = new Popup()
    {
        Child = new Border()
        {
            Child = new TextBlock()
                    {
                        Text = "Hello World!"
                    },
            Height =  Application.Current.Host.Content.ActualHeight,
            Width =  Application.Current.Host.Content.ActualWidth,
            Background = new SolidColorBrush(Colors.Green)
        }
    };

    this.LayoutRoot.Children.Add(myPopup);
    myPopup.IsOpen = true; 
}
Run Code Online (Sandbox Code Playgroud)

此代码段有点过于热心,因为shell项(例如SystemTray,AplicaitonBar等)可以占用渲染区域的空间.

这是上面在WXGA仿真器中执行的代码片段的打印屏幕:

WXGA全屏弹出

这是上面在720P模拟器中执行的代码片段: 720P全屏弹出

  • 你会如何在XAML中做到这一点? (4认同)