数千のポリゴンを追加したキャンバスがあります。
ズームインできるようにしたいと思います(これは ScaleTransform.
ただし、キャンバスの一部のみを描画するために Canvas.Clip も使用しようとしましたが、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;
}
私は明らかに間違ったことをしていますか?