将gridview中的项目插入左侧也会将gridview滚动到左侧

时间:2014-06-04 12:05:38

标签: c# xaml windows-8 microsoft-metro winrt-xaml

在我的windows 8 metro app中,我正在使用GridView(水平滚动),根据客户端的要求之一,我需要INSERT项目(从可观察集合的顶部添加项目)到这个gridview中,以便GridView&# 39; s滚动不向左滚动,但它的滚动条显示某些项目已添加到gridview的左侧(滚动条根据添加的项目数量缩小)。

现在发生的事情是(考虑到GridView的水平偏移为0.0)每当我将项目插入gridview的绑定ObservableCollection时,它会将gridviewitems添加到gridview当前位置的左侧而不是增加水平偏移它实际上再次跳到0水平偏移,这不是要求。当我向左侧插入项目时,如何停止gridview的跳转?与将新项添加到可观察集合的末尾时的行为相同,它不会跳转到右端。

希望所以我已经解释了情况,如果有什么不合理的话,请帮忙告诉我。

1 个答案:

答案 0 :(得分:0)

我几乎解决了这个问题,我所做的是:

据我所知,有多少项目被添加(插入)到Collection的顶部,

  
      
  1. 我刚使用项目宽度计算了一个项目移动的SCROLL效果

  2.   
  3. 将其与添加到顶部的项目数相乘。

  4.   
  5. 然后使用scrollViewer.ScrollToHorizo​​ntalOffset(...计算结果)

  6.   

它解决了问题