2012-04-10 22 views
3

我有一个形状内部Canvas,就像这样:如何绘制形状独家内部帆布

<ScrollViewer> 

    <Border Height="342" Width="470" HorizontalAlignment="Left" 
     VerticalAlignment="Top" BorderThickness="3" BorderBrush="Black"> 

     <Canvas Background="White"> 
      <Rectangle Width="200" Height="200" Canvas.Left="103" 
       Canvas.Top="186" Fill="Red" /> 
     </Canvas> 

    </Border> 

</ScrollViewer> 

即使矩形是Canvas孩子是画外帆布限制,覆盖边框底部边框。我怎样才能使矩形绘制仅限于画布范围内,确保超出的矩形部分不显示?

谢谢。

回答

12

这就是ClipToBounds财产被用于制作:

<Canvas Background="White" ClipToBounds="True"> 
    <Rectangle Width="200" Height="200" Canvas.Left="103" Canvas.Top="186" Fill="Red" /> 
</Canvas> 
+0

谢谢,这个回答言简意赅帮我解决一个长期存在的bug在我的应用程序。 – FSharpN00b 2014-09-30 02:46:21