0

我想让我的图像在其尺寸小于原始尺寸时拉伸均匀。如果有足够的空间,我不想拉伸图像。我正在使用图像控件:

<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)。

有什么建议吗?

4

1 回答 1

4

我认为您正在寻找StretchDirection属性。你可能想试试

<Image Name="ImageBox"  Stretch="Uniform" StretchDirection="DownOnly"/>

没有你的事件。

于 2013-06-21T08:43:28.883 回答