Обрезка сетки - Silverlight - PullRequest
       3

Обрезка сетки - Silverlight

2 голосов
/ 17 августа 2011
<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>

Проблема в том, что прямоугольник виден из сетки, и я этого не хочу.Что мне делать?

1 Ответ

3 голосов
/ 17 августа 2011

Вам нужно обрезать сетку. Я написал прикрепленное свойство, которое сделает это для вас. Смотрите следующее сообщение в блоге:

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 для требуемой геометрии на основе текущего размера элемента, к которому оно прикреплено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...