从代码中更改画布中的绝对位置
本文关键字:位置 布中 代码 | 更新日期: 2023-09-27 17:53:44
我正在创建自己的usercontrol,其中我有一个画布,将容纳六边形。
我现在在添加AddItem函数的阶段,因为我不希望六边形重叠,我显然想使用画布的定位方法。但是我如何从"正常"代码访问它们呢?
我有一个Path对象hexagon
它保存着六边形数据我想把它添加到画布上也就是container
那么我如何从c#代码中更改定位呢?
我知道,在XAML我的路径看起来像这样,当在画布(请注意画布)。Left and 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>
使用此方法
Path myPath = ....; // obtain your path here
Canvas.SetLeft(myPath,25);
Canvas.SetTop(myPath,25);