【问题标题】:Canvas's children and canvas's border overlap画布子项和画布边框重叠
【发布时间】:2012-10-05 00:24:56
【问题描述】:

我有一个放在网格中的画布。并且网格被放置在边框中。当我在画布上绘制一些项目(例如白线)时,该项目位于边框上方,因此边框正在擦除。有谁知道我怎样才能避免它?我尝试为画布设置边距,边框的大小比画布的大,但没有任何帮助。

这是我的 xaml:

<Border BorderThickness="1"  BorderBrush="#333333" Opacity="1" Name="inner_canvas_border">
    <Grid Name="grid1">
        <Canvas Name="Canvas1"HorizontalAlignment="Center" VerticalAlignment="Center" Width="700" Height="450" />
    </Grid>
</Border>

【问题讨论】:

    标签: wpf xaml canvas border


    【解决方案1】:

    Canvas 上的ClipToBounds 属性的默认值为 false。将此设置为 true,这将防止在Canvas 范围之外的元素显示在Canvas 范围之外:

    <Border
      BorderThickness="1"
      BorderBrush="#333333"
      Opacity="1"
      Name="inner_canvas_border">
      <Grid
        Name="grid1">
        <Canvas
          Name="Canvas1"
          HorizontalAlignment="Center"
          VerticalAlignment="Center"
          Width="700"
          Height="450"
          ClipToBounds="True" /><!-- This line here -->
      </Grid>
    </Border>
    

    【讨论】:

      猜你喜欢
      • 2014-07-02
      • 2020-10-20
      • 2011-10-14
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      相关资源
      最近更新 更多