2009-05-20 11 views
3

キャンバスに配置するには上/左が必要です。何かを中心に配置する場合は、適切なCanvas.TopにHorizo​​ntalAlignment = "Center"を使用してグリッドを追加するか、そこには良い方法がありますか?あなたがキャンバスとの両方を置けばWPFキャンバス上のパーフェクトセンター

このスニップは、グリッドの中央に一部のコンテンツで、150X300キャンバスです....

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

答えて

7

ガイのソリューションは動作しますが、あなたはヒットテストをジャグリングしている場合z順序と可視性を微調整する必要がある場合がありますピアとしてグリッド内のコンテンツは、それはあなたの中心に結果を取得します。

もう1つの方法は、キャンバスの高さ/幅を高さ/幅に設定(またはバインド)してキャンバス内にグリッドを配置することです(XAMLで指定したとおり)。次に、グリッドの内容をHorizo​​ntalAlignment/VerticalAlignmentをCenterに設定します。

4

私は、これはあなたの正確な要件を満たすかどうかわからないんだけど、

<Grid> 
    <Canvas Width="150" Height="300"/> 
    <Button HorizontalAlignment="Center" VerticalAlignment="Center" Width="106" Content="Click"/> 
</Grid> 
関連する問題