我有一个画布,其中添加了数千个多边形。
我希望能够放大(我正在通过 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;
}
我在做任何明显错误的事情吗?