如何解决如何在使用ZoomToFactor来增加按钮单击中的缩放级别时在滚动查看器中居中缩放
我正在使用滚动查看器缩放设置为Grid的背景的图像。何时,我使用scrollViewer在后面的代码中单击按钮时设置了缩放系数值.ZoomToFactor(zoomFactor)图像从左上角开始缩放,而不是从中心位置开始。
请从下面的链接或下面的代码片段中获取示例,以供参考。 链接:https://github.com/ragulsv/ScrollViewer
代码段[C#]:
float count = 1;
private void Clr_Click(object sender,RoutedEventArgs e)
{
count = 1;
viewer.ZoomToFactor(count);
viewer.RenderTransformOrigin = new Point(0.5,0.5);
}
private void Btn_Click(object sender,RoutedEventArgs e)
{
viewer.ZoomToFactor(count);
viewer.RenderTransformOrigin = new Point(0.5,0.5);
count += 1;
}
代码段[Xaml]:
<Grid x:Name="grid1">
<Grid.RowDefinitions>
<RowDefinition Height="0.1*">
</RowDefinition>
<RowDefinition Height="0.1*">
</RowDefinition>
<RowDefinition Height="0.8*">
</RowDefinition>
</Grid.RowDefinitions>
<Button x:Name="btn" Grid.Row="0"></Button>
<Button x:Name="clr" Grid.Row="1"></Button>
<ScrollViewer x:Name="viewer" Grid.Row="2" ZoomMode="Enabled">
<Grid>
<Image Source="Assets\EditedImage.jpg" Height="190" Width="190"/>
</Grid>
</ScrollViewer>
</Grid>
解决方法
在使用ZoomToFactor来增加按钮单击中的缩放级别时,如何在滚动查看器中居中缩放
在这种情况下,您可以设置图像的父级Grid
VerticalAlignment="Center" HorizontalAlignment="Center"
,使图像始终固定在ScrollViewer
的中心,然后调用ChangeView方法来编辑ZoomFactor
private void Btn_Click(object sender,RoutedEventArgs e)
{
viewer.ChangeView(0,(viewer.ZoomFactor + 1f));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。