1

とが含まれているWindowsストアアプリがありScrollViewerますImage。ダブルタップするとScrollViewer、画像をその幅にズームします。この部分は問題ありませんが、Imageズームインした後も中央に配置したいです。

ScrollToHorizontalOffsetでメソッドを呼び出してみましたScrollViewerが、指定した番号では機能しないようです。何が問題ですか?

4

3 に答える 3

0

おそらく、オフセットは、画像が ScrollViewer を完全に埋めてスクロールできないズームされていないビューに対してのみ機能します。ScrollViewer よりも大きくなるように画像のサイズを設定してみることもできますが、元の ZoomFactor を設定して、最初に ScrollViewer を満たすようにします。その後、ズームとスクロールが機能する場合があります。

于 2012-10-29T22:20:37.120 に答える
0

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拡大または縮小できます。imagecanvass

于 2014-05-29T06:32:01.740 に答える
0

「ZoomToFactor」の代わりに「ChangeView」を試してください

于 2020-08-14T11:57:57.473 に答える