0

screen1

緑の長方形を青の長方形の内側にのみ表示するようにするにはどうすればよいですか?青はグリッドの境界線です。このグリッド内にないものはすべて切り取りたいです。緑の長方形が移動することに注意してください。

4

2 に答える 2

4

ClipToBoundsSilverlightにはプロパティがないため、Clipプロパティをに設定する必要がありますRectangleGeometry

グリッドのサイズが固定されている場合は、固定サイズの長方形を設定するだけです。

<Grid>
    <Grid.Clip>
        <RectangleGeometry Rect="0,0,400,600"/>
    </Grid.Clip>
    ...
</Grid>

グリッドのサイズが変更される可能性がある場合は、ハンドラーClipでプロパティを設定できます。SizeChanged

<Grid SizeChanged="GridSizeChanged">
    ...
</Grid>

ハンドラーコード:

private void GridSizeChanged(object sender, SizeChangedEventArgs e)
{
    ((UIElement)sender).Clip =
        new RectangleGeometry
        {
            Rect = new Rect(0, 0, e.NewSize.Width, e.NewSize.Height)
        };
}
于 2013-02-24T12:52:06.250 に答える
0
<Grid Width="200" Height="100">       
<Grid.Clip>
    <RectangleGeometry Rect="0, 0, 200, 100"/>
</Grid.Clip>

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

于 2013-02-24T14:23:02.790 に答える