ScrollViewer
Windows 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;
}
私が言ったように、これは実際には機能しておらず、いくつかの問題があります。
ScrollView
s には、この種の「ラバー バンド」オーバースクロール機能が組み込まれています。プラットフォームの統一性については同意できますが、ここでは役に立たず、前述の「People」アプリにもそれがありません。- ユーザー
MaxZoomLevel
が . - トリミング枠よりも画像を小さくすることができます。画像がビューポートを満たしていないポイントまでズーム レベルを下げることはできません。
- は画像の
ScrollView
中心を示していません。
これらの問題を解決するにはどうすればよいですか? また、画像をトリミングおよびスケーリングするための最良の方法は何ですか? これが Silverlight (フォト チューザー) の場合と同様に SDK の一部として利用できるとよいでしょう。