0

Windows ストア プロジェクトで 2 つのボタンを持つ単純なスタック パネルを試したとき:

<Page ...>
    <StackPanel>
        <Button>Button 1</Button>
        <Button>Button 2</Button>
    </StackPanel>
</Page>

ボタンは横方向のスペースを埋めるために拡大されませんが、WPF プロジェクトの同じコードでは、ボタンは拡大されます。

<Window ...>
    <StackPanel>
        <Button>Button 1</Button>
        <Button>Button 2</Button>
    </StackPanel>
</Window>

スタックパネルの動作に違いはありますか? それとも、WPF と Metro アプリのレイアウト システムに一般的な違いはありますか?

4

1 に答える 1

2

Buttonこれは、コントロールのデフォルトのスタイルの違いです。

ButtonWPFでは、コントロールの既定のスタイル( http://msdn.microsoft.com/en-gb/library/ms753328.aspxを参照)にはのセッターが含まれていないためHorizontalAlignment、WPFButtonの既定値はStretchです。

ただし、Windows 8アプリでは、のデフォルトスタイルでButton明示的ににが設定HorizontalAlignmentされLeftます。このデフォルトのスタイルがMSDNのどこかにあるかどうかはわかりませんが、Blendを使用して、Buttonのデフォルトのスタイルに次のセッターが含まれていることを確認しました。

    <Setter Property="HorizontalAlignment" Value="Left"/>

もちろん、Windows 8のボタンを水平方向のスペースで埋めたい場合は、いつでも次のように書くことができます。

    <Button HorizontalAlignment="Stretch">Button 1</Button>
    <Button HorizontalAlignment="Stretch">Button 2</Button>
于 2013-01-25T21:47:23.247 に答える