我想让我的图像在尺寸小于原始尺寸时拉伸均匀。如果有足够的空间,我不想拉伸图像。我正在使用图像控件:
<Image Name="ImageBox" Stretch="Uniform" SizeChanged="ImageBox_SizeChanged_1"/>
我的事件处理程序:
private void ImageBox_SizeChanged_1(object sender, SizeChangedEventArgs e)
{
if (OriginalImageSize == null) return;
if (ImageBox.RenderSize.Width > OriginalImageSize.Width && ImageBox.RenderSize.Height > OriginalImageSize.Height)
ImageBox.Stretch = Stretch.None;
else
ImageBox.Stretch = Stretch.Uniform;
}
当我加载图像时没关系,接下来我调整窗口大小以便有足够的空间显示整个图像并且不需要缩放,图像开始闪烁(从Stretch.None到Stretch.Uniform我猜)。
有什么建议吗?
答案 0 :(得分:3)
我认为您正在寻找StretchDirection财产。您可能想尝试
<Image Name="ImageBox" Stretch="Uniform" StretchDirection="DownOnly"/>
没有您的活动。