3

ポップアップ コントロールにグリッドを配置しています。Windows Phone 8 アプリの 3 つの異なるレイアウト サイズ ( 480 × 800、768 × 1280、720 × 1280 )に従って、グリッドのサイズが自動的に変更されることを期待していました。

しかし、グリッドの幅と高さを明示的に設定する必要があるようです。これは、子コントロールのサイズに応じてサイズを変更しているのに対し、3 つの解像度すべてで画面の上部にポップアップ ボックスをいっぱいに表示したかったからです。 .

ヘルプはありますか?

4

1 に答える 1

29

WP8 で全画面ポップアップを動作させる最も簡単な方法は、子の幅と高さを電話の現在の論理解像度に設定することです。WP8 Multi-resolution zen の詳細についてはこちらを、 WP8 Multi-resolution 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; 
}

このコード スニペットは、シェル アイテム (SystemTray、AplicaitonBar など) がレンダリング領域からスペースを奪う可能性があるため、少し熱心です。

上記のコード スニペットを WXGA エミュレータで実行したときの印刷画面を次に示します。

WXGA での全画面ポップアップ

上記の 720P エミュレータで実行するコード スニペットは次のとおりです。 720P での全画面ポップアップ

于 2012-12-25T22:51:53.897 に答える