如何在Silverlight中创建拉伸剪切矩形

| 由于Silverlight在控件上没有“ ClipToBounds”属性的舒适功能,因此我必须自己定义裁剪形状。我想知道是否可以创建一个跟随控件大小的裁剪矩形。有什么建议么?     
已邀请:
如果布局中存在要动态剪辑的现有控件,请使用其“ 0”事件。例如,假设您要裁剪此网格:
    <Grid SizeChanged=\"Grid_SizeChanged\" Width=\"50\" Height=\"20\">
        <Grid.Clip>
            <RectangleGeometry />
        </Grid.Clip>
        <TextBlock Margin=\"0 -9 0 0\" Text=\"This text should not be legible\" />
    </Grid>
后面的代码:
   private void Grid_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        ((RectangleGeometry)((Grid)sender).Clip).Rect = new Rect(0.0, 0.0, e.NewSize.Width, e.NewSize.Height);
    }  
对于您自己的自定义控件,您可以考虑处理
ArrangeOverride
中的剪辑矩形,而不是依赖SizeChanged事件。在这种情况下,您可能想在代码中将RectangleGeometry分配给
Clip
属性,而不是依赖于在默认模板的Xaml中对其进行分配。     
Silverlight支持: 尝试使用HorisontalAlignment和垂直对齐方式属性。让它们伸展。 如果这不起作用,那么您将不得不发布xaml示例。     

要回复问题请先登录注册