スクロール ビューアを提供するカスタム テンプレートを使用して、ItemsControl の ItemsPanel としてカスタム パネルを使用しています。(以下の Xaml を参照してください。) 私のパネルが IScrollInfo を実装していない限り、このシーンではスクロールが機能します。
IScrollInfo を実装し、メジャー オーバーライドでビューポートと範囲のサイズを更新します。スクロール バーには正しい相対的なサイズが表示され、IScrollInfo メソッドを直接呼び出すと、スクロールは期待どおりに機能します。ただし、ドラッグとフリックのジェスチャでコンテンツがスクロールされなくなりました。すべての IScrollInfo メソッドの入力にブレークポイントを配置すると、ドラッグ アンド ピックがインターフェイスを呼び出していないことがわかります。IScrollInfo インターフェイス宣言を削除すると、ドラッグおよびフリック時のスクロール動作が復元されます。
IScrollInfo を実装するパネルを使用して、フリックとパンのジェスチャを ItemControls に復元する簡単な方法はありますか?