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