在WPF

时间:2017-08-06 05:54:36

标签: c# wpf padding

我有一个带有矩形的Canvas,里面有一个圆圈:

<Canvas x:Name="CanvasMain" Width="595" Height="842" Background="White" HorizontalAlignment="Center" >
        <Rectangle Fill="Tomato" Height="335" Canvas.Left="40" Stroke="Black" Canvas.Top="60" Width="265"/>
        <Ellipse Fill="Tomato" Height="175" Canvas.Left="370" Stroke="Black" Canvas.Top="465" Width="200"/>
</Canvas>

我想以编程方式设置画布的填充。我应该设置Canvas中所有元素的边距以实现此目的,还是有其他选择

2 个答案:

答案 0 :(得分:0)

我认为您可以尝试将画布放在边框中。

<Border x:Name="rootBorder">
      <Canvas x:Name="CanvasMain" Width="595" Height="842" Background="White" HorizontalAlignment="Center" >

      </Canvas>
</Border>

然后你可以设置边框的填充。

rootBorder.Padding = new Thickness(25);

答案 1 :(得分:0)

  

我想以编程方式设置Padding的{​​{1}}。我应该在Canvas内设置所有元素的边距以实现此目的,还是有其他选择

或者是调整元素的坐标(CanvasCanvas.Top属性)。

Canvas.Left没有填充的概念所以你需要以某种方式自己创建差距。真的没有对错。