Mode="Standard"
ScrollViewer、Image(DataTemplateとしてScrollViewer内)を備えたFlipView(で仮想化されています)があります。ImageOpened
そのようなコードで Image にイベントハンドラーを設定しました:
private void Image_ImageOpened(object sender, RoutedEventArgs e)
{
var image = sender as Image;
double width = image.ActualWidth;
double height = image.ActualHeight;
var sv = image.Parent as ScrollViewer;
if (sv != null && width != 0 && height != 0)
{
var properZoom = ZoomUtilities.CalculateZoomFactor(width, height);
sv.MinZoomFactor = 0.3f;
sv.ChangeView(null, null, properZoom);
sv.MinZoomFactor = properZoom;
}
}
properZoom
常に正しい値です。この FlipView アプリケーションでアイテムを変更 (スワイプ) またはページを読み込むと、1,000 回に 1 回、ブレークポイントがオンの状態でクラッシュしsv.ChangeView(..)
、AccessViolationException
例外がスローされます。そのような行動の理由が何であるかを誰かが知っていますか? ChangeView
メソッドの呼び出しに制限はありますか?
編集:言及するのを忘れましDoubleTapped
た-ScrollViewerにもイベントハンドラーがあり、これも呼び出しますChangeView