【发布时间】:2010-11-26 10:30:48
【问题描述】:
我有一个画布,我已经添加了几千个多边形。
我希望能够放大(我正在通过 ScaleTransform 进行。
但是,我也一直在尝试使用 Canvas.Clip 来仅绘制 Canvas 的一部分,但是一旦更改了 ScaleTransform 值,剪辑就会停止工作...
<Canvas Grid.Row="1" Margin="10" x:Name="cnvMain" Background="Transparent" >
<Canvas.Clip>
<RectangleGeometry x:Name="CanvasClip" Rect="0, 0, 300, 300"/>
</Canvas.Clip>
<Canvas.RenderTransform>
<ScaleTransform x:Name="CanvasScaleTransform" ScaleX="1" ScaleY="1"></ScaleTransform>
</Canvas.RenderTransform>
</Canvas>
在我的代码隐藏中,
private void slScale_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
CanvasScaleTransform.ScaleX = slScale.Value;
CanvasScaleTransform.ScaleY = slScale.Value;
}
我做错了什么吗?
【问题讨论】:
标签: silverlight scaling polygon clipping