2014-03-25 19 views
0

我創建了自己的用戶控件,其中有一個可容納六邊形的畫布。從代碼中更改畫布中的絕對定位

我現在在添加函數AddItem的階段,因爲我不希望六邊形重疊,所以我顯然希望使用Canvas的定位方法。但是,我如何從「普通」代碼訪問它們?

我有一個Path對象hexagon持有六邊形數據,我想將它添加到我的畫布又名container

那麼,如何改變從C#代碼中的定位是什麼?

我知道,在我的XAML路徑是這樣的,當Canvas中(請注意Canvas.Left和Canvas.Top),你必須滾動一點..

<Canvas x:Name="Container" ScrollViewer.HorizontalScrollBarVisibility="Visible"> 
    <Path d:LayoutOverrides="None" d:LastTangent="0,0" Stroke="White" Fill="#343434" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0" Width="50" Height="50" Stretch="Fill" Data="M8.660254,0 L17.320508,5 17.320508,15 8.660254,20 0,15 0,5 8.660254,0 z"/> 
    <Path d:LayoutOverrides="None" d:LastTangent="0,0" Stroke="White" Fill="#343434" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0" Width="50" Height="50" Stretch="Fill" Data="M8.660254,0 L17.320508,5 17.320508,15 8.660254,20 0,15 0,5 8.660254,0 z" Canvas.Left="25" Canvas.Top="37.5"/> 
</Canvas> 

回答

2

使用此方法

Path myPath = ....; // obtain your path here 
    Canvas.SetLeft(myPath,25); 
    Canvas.SetTop(myPath,25); 
+1

啊,非常感謝。 :) – Tokfrans