2012-04-10 44 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