在我的windows 8 metro app中,我正在使用GridView(水平滚动),根据客户端的要求之一,我需要INSERT项目(从可观察集合的顶部添加项目)到这个gridview中,以便GridView&# 39; s滚动不向左滚动,但它的滚动条显示某些项目已添加到gridview的左侧(滚动条根据添加的项目数量缩小)。
现在发生的事情是(考虑到GridView的水平偏移为0.0)每当我将项目插入gridview的绑定ObservableCollection时,它会将gridviewitems添加到gridview当前位置的左侧而不是增加水平偏移它实际上再次跳到0水平偏移,这不是要求。当我向左侧插入项目时,如何停止gridview的跳转?与将新项添加到可观察集合的末尾时的行为相同,它不会跳转到右端。
希望所以我已经解释了情况,如果有什么不合理的话,请帮忙告诉我。
答案 0 :(得分:0)
我几乎解决了这个问题,我所做的是:
据我所知,有多少项目被添加(插入)到Collection的顶部,
我刚使用项目宽度计算了一个项目移动的SCROLL效果
将其与添加到顶部的项目数相乘。
- 醇>
然后使用scrollViewer.ScrollToHorizontalOffset(...计算结果)
它解决了问题