私は GBA ゲームのグラフィック エディターをやっていて、画像を ScrollView に入れました。ユーザーが NumericUpDown をクリックすると、画像は拡大率でサイズ変更されます。画像全体をスクロールできるように、ScrollView を画像の新しいサイズに適応させたいと思います。私はMVVMパターンを使用していません。
これが私の XAML の一部です。
<ScrollViewer x:Name="PortraitScrollBar" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" VerticalAlignment="Bottom" HorizontalAlignment="Right">
<Image x:Name="ImagePortrait" Width="280" Height="280" Stretch="None" HorizontalAlignment="Left" VerticalAlignment="Top" />
</ScrollViewer>
NumericUpDown の ValueChanged イベントで呼び出される関数も次のとおりです。
public static void Magnify(ref Image img, WriteableBitmap wBmp, int factor)
{
img.Source = wBmp.Resize(wBmp.PixelWidth * factor, wBmp.PixelHeight * factor, WriteableBitmapExtensions.Interpolation.NearestNeighbor);
}
private void PorMagnifyUpDown_ValueChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
if (IsInit)
{
Magnify(ref ImagePortrait, currentImage, (int)e.NewValue);
}
}