uwp scrollviewer viewport 有办法知道当前控件是否在viewport和可见的用户?

2022-01-24 18:49:32 标签 windowsgridviewuwp

在uwp windows应用程序。

<ScrollViewer x:Name="filesView_Thumbnail">
<Grid><Image /></Grid>.... long list of Grid or GridView with ItemTemplate
</ScrollViewer>

当我在scrollViewer中加载图像的长列表时,我想先加载对用户可见的图像,因为加载图像需要时间。

有没有一种方法,我可以触发事件或计算哪个网格或图像控件当前在当前ViewPort和可见的用户?

我试着粗略计算宽度和高度,但它是关闭时,它走长列表。当网格和图像控件的大小变化时,此方法不起作用。

###正如Raymond Chen所说的,你可以使用ListView。当你加载一个长长的图片列表时,在同一时间为所有的图片创建UI将是一种资源浪费。因此,您需要为需要的图像创建UI。ListView和GridView(以及其他标准的itemscontrol派生控件)为你执行UI虚拟化。换句话说,对于绑定到多个项集合的项控件,当项接近滚动到视图(几页之外)时,框架可以为这些项生成UI并缓存它们。

注意,ListView有内置的scrollviewer,你不需要为它添加scrollviewer,否则会影响UI虚拟化。

阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码