如何使绿色矩形仅在蓝色矩形内可见?蓝色是网格的边界。我想切断不在此网格内的所有内容。请注意,绿色矩形将移动。
问问题
1198 次
2 回答
4
由于 Silverlight 中没有ClipToBounds
属性,因此您必须将Clip
属性设置为RectangleGeometry
.
当 Grid 的大小固定时,您可以简单地设置一个固定大小的矩形:
<Grid>
<Grid.Clip>
<RectangleGeometry Rect="0,0,400,600"/>
</Grid.Clip>
...
</Grid>
当 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 回答