gpt4 book ai didi

XAML 使图像适合 ScrollViewer 内的页面大小

转载 作者:行者123 更新时间:2023-12-01 06:40:42 26 4
gpt4 key购买 nike

我在 ScrollViewer 中有一个 Image。一些图像太大,无法放入 Page。如何让 Image 在首次显示时缩小到 Page 大小?

<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Image Stretch="None" />
</ScrollViewer>

更新的答案

这是我根据 Filip 在这里的回答和另一个他对类似问题的回答 here 所做的

XAML:

<ScrollViewer x:Name="scrollViewer">
<Image x:Name="image" Stretch="None" SizeChanged="ImageSizeChanged" />
</ScrollViewer>

代码隐藏:

private bool imageSizeSet;
private void ImageSizeChanged( object sender, SizeChangedEventArgs e )
{
if( imageSizeSet || !( image.ActualWidth > scrollViewer.ViewportWidth ) && !( image.ActualHeight > scrollViewer.ViewportHeight ) )
{
return;
}

// If the image is larger than the screen, zoom it out.
var zoomFactor = (float)Math.Min( scrollViewer.ViewportWidth / image.ActualWidth, scrollViewer.ViewportHeight / image.ActualHeight );
scrollViewer.ZoomToFactor( zoomFactor );
imageSizeSet = true;
}

最佳答案

<ScrollViewer
x:Name="theScrollViewer"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
SizeChanged="OnSizeChanged">
<Image
x:Name="theImage"
Stretch="Uniform" />
</ScrollViewer>

private void OnSizeChanged(object sender, SizeChangedEventArgs args)
{
theImage.Width = theScrollViewer.ViewportWidth;
theImage.Height = theScrollViewer.ViewportHeight;
}

关于XAML 使图像适合 ScrollViewer 内的页面大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23032304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com