2010-09-21 22 views
5

任何人都可以告訴我如何將網格控件的給定行/列中的多邊形對象居中?在網格控件中居中多邊形

我試過的例子取自msdn。

<Grid x:Name="LayoutRoot" > 
    <Polygon Points="300,200 400,125 400,275 300,200" 
      Stroke="Purple" 
      StrokeThickness="2" 
      HorizontalAlignment="Center" 
      VerticalAlignment="Center" > 
    <Polygon.Fill> 
     <SolidColorBrush Color="Blue" Opacity="0.4" /> 
    </Polygon.Fill> 
</Polygon> 

乾杯,

XAM

回答

3

添加的屬性: -

HorizontalAlignment="Center" VerticalAlignment="Center" 

Polygon

0

儘管高度和寬度都隱含在多邊形的邊界內,但它默認爲容器的大小。

如果你只是設置

HorizontalAlignment="Center" VerticalAlignment="Center" 

它將使多邊形的左上的中心。

您還必須明確設置多邊形的高度和寬度,使其中心保留其邊界

樣品多邊形的XAML與尺寸補充說:

<Grid x:Name="LayoutRoot"> 
    <Path Data="M0.5,41.5 L201,0.5 L302,115 L157.25,157 z" Fill="#FFF4F4F5" Stroke="Black" UseLayoutRounding="False" HorizontalAlignment="Center" VerticalAlignment="Center" Width="302.5" Height="157.5"/> 
</Grid> 
+0

@HiTechMagic:如何是你定義你的容器和多邊形?我沒有看到它在一個簡單的網格和4點多邊形中展開,我看到你的帖子後扔在一起。 – 2010-09-21 13:03:46

+0

@HiTechMagic:我和Wonko有同樣的問題。儘管遵循你的方向,但我無法得到一個簡單的多邊形(在我的情況下是一個三角形),以在網格控件中居中。 – Xam 2010-09-21 13:09:47

+0

@Wonko&Xam:我的錯誤。默認情況下,我已經對多邊形進行了填充設置。答案已更正。基本的解決方案是相同的。確保您將尺寸設置爲多邊形的邊界。乾杯 – 2010-09-21 13:32:26