XAML中的缩放
本文关键字:缩放 XAML | 更新日期: 2023-09-27 18:17:52
我使用下面的xaml代码将WPF画布的原点更改为屏幕中央。
<Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="2" ScaleY="2"/>
<TranslateTransform
X="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=Canvas}}"
Y="{Binding ActualHeight, RelativeSource={RelativeSource AncestorType=Canvas}}"/>
<ScaleTransform ScaleX="0.5" ScaleY="0.5"/>
</TransformGroup>
</Canvas.RenderTransform>
我在上面的xaml代码中使用缩放变换来实现这一点。但是现在,我无法在画布上应用缩放变换来调整画布内容(线条和多边形)的大小。
请帮我解决这个问题。
设置Canvas坐标原点居中的更简单方法是将其放在2x2网格的右下角单元格中。因为Canvas的ClipToBounds
属性的默认值是false
,所以负坐标的元素仍然是可见的。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Canvas Grid.Column="1" Grid.Row="1">
...
</Canvas>
</Grid>