とが含まれているWindowsストアアプリがありScrollViewer
ますImage
。ダブルタップするとScrollViewer
、画像をその幅にズームします。この部分は問題ありませんが、Image
ズームインした後も中央に配置したいです。
ScrollToHorizontalOffset
でメソッドを呼び出してみましたScrollViewer
が、指定した番号では機能しないようです。何が問題ですか?
とが含まれているWindowsストアアプリがありScrollViewer
ますImage
。ダブルタップするとScrollViewer
、画像をその幅にズームします。この部分は問題ありませんが、Image
ズームインした後も中央に配置したいです。
ScrollToHorizontalOffset
でメソッドを呼び出してみましたScrollViewer
が、指定した番号では機能しないようです。何が問題ですか?
おそらく、オフセットは、画像が ScrollViewer を完全に埋めてスクロールできないズームされていないビューに対してのみ機能します。ScrollViewer よりも大きくなるように画像のサイズを設定してみることもできますが、元の ZoomFactor を設定して、最初に ScrollViewer を満たすようにします。その後、ズームとスクロールが機能する場合があります。
scrollviewer で SizeChangedEvent を割り当てます。
<ScrollViewer SizeChanged="OnSizeChange"></ScrollViewer>
このような。次に、画像をキャンバス内に配置することをお勧めします。したがって、コードはおそらく次のようになります。
<ScrollViewer SizeChanged="OnSizeChange" x:Name="scrl">
<Canvas RenderTransformOrigin="0.5,0.5" x:Name="main">
<Image source="" Canvas.Top="insert desire double value here", Canvas.Left="Same goes here"/>
</Canvas>
</ScrollViewer>
次に、コードビハインドで、スクロールビューアに応じてキャンバスの高さと幅を変更できます
Main.Width = scrl.ViewPortWidth; Main.Height = scrl.ViewPortHeight;
canvass
を追加しながらのサイズを試すことができますdouble tap event
。のサイズを変更すると、画像が内部にあるため、canvas
拡大または縮小できます。image
canvass
「ZoomToFactor」の代わりに「ChangeView」を試してください