网格剪辑 - Silverlight

时间:2011-08-17 12:02:46

标签: silverlight xaml

<Grid Height="333">
    <Canvas Margin="0,-41">
        <Rectangle Height="60" Width="72" Canvas.Left="73" Canvas.Top="355">
            <Rectangle.Fill>
                <ImageBrush Stretch="None" ImageSource="aaa.png"/>
            </Rectangle.Fill>
        </Rectangle>
    </Canvas>
</Grid>

问题是Grid中可以看到Rectangle,我不希望这样。 我该怎么办?

1 个答案:

答案 0 :(得分:3)

您需要剪辑网格。我写了一个附属物,会为你做这件事。请参阅以下博文:

http://www.scottlogic.co.uk/blog/colin/2009/05/silverlight-cliptobounds-can-i-clip-it-yes-you-can/

您可以按如下方式使用它:

<Grid Height="333" util:Clip.ToBounds="true">
    <Canvas Margin="0,-41">
        <Rectangle Height="60" Width="72" Canvas.Left="73" Canvas.Top="355">
            <Rectangle.Fill>
                <ImageBrush Stretch="None" ImageSource="aaa.png"/>
            </Rectangle.Fill>
        </Rectangle>
    </Canvas>
</Grid>

在内部,此附加行为会根据所附几何元素的当前大小将FrameworkElement.Clip属性设置为所需的几何。