3

キャンバスには配置のために上/左が必要なので、何かを中央に配置したい場合は、適切な Canvas.Top に Horizo​​ntalAlignment="Center" でグリッドを追加するのが最善の方法ですか、それとももっと良い方法がありますか?

このスニップは 150X300 のキャンバスで、一部のコンテンツがグリッドの中央に配置されています ....

<Canvas Width="150" Height="300">
    <Grid Canvas.Top="75" Width="106" HorizontalAlignment="Center">
        {whatever you want centered}
    </Grid>
</Canvas>
4

2 に答える 2

7

Guy のソリューションは機能しますが、ヒット テストをやりくりしている場合は、z オーダーと可視性を微調整する必要があるかもしれません。

もう 1 つの方法は、(XAML で指定したように) Canvas 内に Grid を配置し、Height/Width を Canvas の Height/Width に設定 (またはバインド) することです。次に、Grid のコンテンツの Horizo​​ntalAlignment/VerticalAlignment を Center に設定します。

于 2009-05-20T21:04:41.577 に答える
4

これが正確な要件を満たすかどうかはわかりませんが、キャンバスとコンテンツの両方をピアとしてグリッド内に配置すると、中央に配置された結果が得られます。

<Grid>
    <Canvas Width="150" Height="300"/>
    <Button HorizontalAlignment="Center" VerticalAlignment="Center" Width="106" Content="Click"/>
</Grid>
于 2009-05-20T18:22:49.373 に答える