加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – 不支持ScrollViewer中的ISupportIncrementalLoading?

发布时间:2020-12-13 22:46:05 所属栏目:Windows 来源:网络整理
导读:我有一个 GridView与 GridView.ItemsSource设置为一个实现 ISupportIncrementalLoading的集合.通过实现这一点,我的目标是通过仅加载显示所需的项目来改善加载时间和UI响应.该框架为我处理这个,它很有效. GridView ItemsSource="{Binding Items}" GridView.It
我有一个 GridView与 GridView.ItemsSource设置为一个实现 ISupportIncrementalLoading的集合.通过实现这一点,我的目标是通过仅加载显示所需的项目来改善加载时间和UI响应.该框架为我处理这个,它很有效.
<GridView ItemsSource="{Binding Items}">
        <GridView.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Text}"/>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>

但是,如果我将上面的XAML包装在ScrollViewer中,如下所示,整个Items集合就会加载,好像GridView无法分辨出它的边界位置.

<ScrollViewer>
    <GridView ItemsSource="{Binding Items}">
        <GridView.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Text}"/>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>
</ScrollViewer>

我知道ScollViewer会允许它的内容填充它想要的空间,所以这里的效果确实有意义;这只是一种无法预料的烦恼.有没有人有解决这个问题的解决方案?

注意:我在这里简化了代码,例如.如果它有助于了解我正在尝试完成的任务:我的目标是在Hub页面上的HubSection内部逐步加载GridView.我的中心页面有2个HubSections,一个宽度为600px,另一个带有GridView,没有定义宽度.

您可以通过手动设置GridView的大小来轻松解决这个问题.根据您的场景,您可以执行一次或者可以处理ScrollViewer上的SizeChanged事件,并根据ScrollViewer的视口大小属性设置GridView的大小.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读