1

ScrollViewerWindows Phone 8.1 (WinRT) アプリで苦労しています。基本的に、私が達成しようとしているのは、を使用して画像を取得しFileOpenPicker、ユーザーが画像の一部とズームレベルを選択できるようにしながら、画像を固定比率 (正方形) 形式にトリミングし、その画像をアプリで使用することです. 連絡先に画像を追加できる「People」アプリのような機能は完璧ですが、ScrollViewが不規則に動作しなくても何とか機能させることができれば、私はより少なく解決します.

これが私が試したバリエーションの1つです:

<ScrollViewer x:Name="SelectedImageScrollViewer"
    ZoomMode="Enabled"
    HorizontalScrollBarVisibility="Auto"
    VerticalScrollBarVisibility="Auto"
    Height="300"
    Width="300" >
    <Image x:Name="SelectedImage"
        Source="{Binding SelectedImage}"
        MinHeight="300"
        MinWidth="300" />
</ScrollViewer>

コードビハインド (コンストラクター内):

if (SelectedImage.ActualHeight > SelectedImage.ActualWidth) {
    SelectedImage.Width = SelectedImageScrollViewer.ViewportWidth;
}
else {
    SelectedImage.Height = SelectedImageScrollViewer.ViewportHeight;
}

私が言ったように、これは実際には機能しておらず、いくつかの問題があります。

  1. ScrollViews には、この種の「ラバー バンド」オーバースクロール機能が組み込まれています。プラットフォームの統一性については同意できますが、ここでは役に立たず、前述の「People」アプリにもそれがありません。
  2. ユーザーMaxZoomLevelが .
  3. トリミング枠よりも画像を小さくすることができます。画像がビューポートを満たしていないポイントまでズーム レベルを下げることはできません。
  4. は画像のScrollView中心を示していません。

これらの問題を解決するにはどうすればよいですか? また、画像をトリミングおよびスケーリングするための最良の方法は何ですか? これが Silverlight (フォト チューザー) の場合と同様に SDK の一部として利用できるとよいでしょう。

4

1 に答える 1