かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

Metro スタイルアプリケーションのコンテンツ領域の大きさ

Metro スタイルアプリケーションでコンテンツを置ける場所って決まってるみたいです。

これに従うようにXAMLを定義すると以下のような感じになりますね。

<Page
    x:Class="Application9.BlankPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Application9"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{StaticResource ApplicationPageBackgroundBrush}">
        <Grid.RowDefinitions>
            <RowDefinition Height="140"/>
            <RowDefinition/>
            <RowDefinition Height="130"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="120"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Button Style="{StaticResource BackButtonStyle}" Grid.Row="0" Margin="36,0,0,36" d:LayoutOverrides="Margin"/>
        <TextBlock TextWrapping="Wrap" Text="サンプルアプリケーション" Style="{StaticResource PageHeaderTextStyle}" VerticalAlignment="Bottom" Grid.Column="1" Grid.Row="0" Height="40" d:LayoutOverrides="Margin"/>
        <Border BorderBrush="Black" BorderThickness="1" Grid.Column="1" Grid.Row="1" Background="#FFCAC8FF" d:LayoutOverrides="Margin"/>

    </Grid>
</Page>

Borderを置いてる場所がコンテンツ領域です。

かちっと決まってるってことはタイトルどんなふうに表示しようとかとりあえず悩まなくても平気ということでありがたいですね。