2013-12-10 52 views
0

因此,我有一個項目源,它在使用IncrementalLoader滾動到我的GridView邊緣時自動更新。我想要做的是讓他們有不同的尺寸。例如1個大項目2x2,然後4個小項目1x1等等。增量加載的可變大小的項目

我學會了如何使用自定義ColSpan和RowSpan爲每個項目創建自己的VariableSizedWrapGrid。

問題是:VariableSizedWrapGrid需要已經加載的靜態項目。所以我不能同時使用...

任何解決方案如何使他們都在同一時間工作?

+0

你是說,你的數據被放置在VariableSizedWrapGrid在XAML?你嘗試過綁定數據嗎? –

+0

@WaltRitscher我的數據已綁定,並且IncrementalLoader正在工作。如果我滾動右邊緣的新項目加載。但這是爲了平等的項目。當我嘗試添加VariableSizedWrapGrid時,他們不會顯示..他們不能被解析或什麼。並且相同的代碼正在爲預定義的靜態項目列表工作。 –

回答

0

我設法自己解決它。我用這個教程爲可變大小的項目: http://blog.jerrynixon.com/2012/08/windows-8-beauty-tip-using.html

然後我擺脫了IncrementalLoader。相反,我編輯了一個GridView模板的副本,然後是ScrollViewer模板(帶有Blend)。這讓我可以訪問ScrollViewer中使用的ScrollBars。

所有我需要做的就是將事件添加到滾動條:

ValueChanged="HorizontalScrollBar_ValueChanged" 

然後功能是這樣的:

private void HorizontalScrollBar_ValueChanged(object sender, RangeBaseValueChangedEventArgs e) 
{ 
     ScrollBar sb = (ScrollBar)sender; 

     if (sb.Maximum == e.NewValue) 
     { 
      //Scroll is at end 
      //Add items here 
     } 
}