0

私は奇妙な問題に遭遇しました。Visual Studio 2012 の wpf プロジェクトと Windows ストア プロジェクトで同じプロジェクトをセットアップし、同じ xaml コードから異なる結果を得ています。私のコードは

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}" Margin="120,120,120,120">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Button></Button>
</Grid>

私のWindowsストアプロジェクトでは、ボタンはグリッドを埋めません。中央左の小さなボタンです。

ただし、wpf プロジェクトでは、期待どおりにボタンがグリッドを埋めます。違いはなぜですか?ボタンが過去のようにグリッドのコンテンツを埋めるには、何を設定する必要がありますか?

編集:垂直方向と水平方向の配置をストレッチするように設定すると、グリッドがいっぱいになることがわかりました。しかし、なぜこれを明示的に述べなければならないのかわかりません。

4

1 に答える 1

0

VerticalAlignmentProperty のデフォルト値は両方のプラットフォームで同じ (Stretch) ですが、Jupiter は Button タイプのデフォルト スタイルで、VerticalAlignment を Center に設定するように指定しているためです。それが選択された理由については、単なる見落としか、一部のエンジニアまたはデザイナーの好みによるものか、標準のプロジェクト テンプレートを使用した方がうまく機能するためである可能性があります。

于 2012-09-18T06:01:26.557 に答える