イメージのサイズが元のサイズよりも小さい場合に、イメージを均一に引き延ばしたいと考えています。十分なスペースがあれば、画像を引き伸ばしたくありません。私はイメージコントロールを使用しています:
<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 までだと思います)。
何かアドバイス?