我将自定义面板用作 ItemsControl 中的 ItemsPanel,并使用提供滚动查看器的自定义模板。(请参阅下面的 Xaml。)只要我的面板没有实现 IScrollInfo,滚动就可以在这个场景中工作。
我实现了 IScrollInfo 并在度量覆盖中更新了我的视口和范围大小。滚动条显示正确的相对大小,如果我直接调用 IScrollInfo 方法,滚动将按预期工作。但是,拖动和轻拂手势不再滚动内容。在每个 IScrollInfo 方法的输入上放置一个断点表明拖动和拾取没有调用接口。删除 IScrollInfo 接口声明可恢复拖动和轻拂行为的滚动。
有没有一种简单的方法可以使用实现 IScrollInfo 的面板将轻弹和平移手势恢复到 ItemControls?