2014-01-18 18 views
0

我正在使用包含5個數據透視表項的頁面控件。用戶只能向右或向左滑動才能到達這些位置,但是從起始數據透視表中,index = 0,我希望能夠確定用戶通常走向哪個方向以及該方向有多遠。由於我的每個樞軸都在加載多個數據段,並且用戶可以從起始索引向左或向右滑動,所以我的最終目標是確定用戶在任一方向走多遠以及多遠,並加載這些樞軸項目第一。例如,如果我的樞軸是如何確定哪個數據透視表項最常用

MainPage.xaml中

<phone:Pivot x:Name="myPivot"> 
    <phone:PivotItem Header="one"/> 
    <phone:PivotItem Header="two"/> 
    <phone:PivotItem Header="three"/> 
    <phone:PivotItem Header="four"/> 
    <phone:PivotItem Header="five"/> 
</phone:Pivot> 

MainPage.xaml.cs中

private async void MainPage_Loaded(object sender, RoutedEventArgs e) 
    { 
     await RenderAsync(); 
    } 

private async Task RenderAsync() 
    { 
     if (!Busy) 
     { 
      Busy = true; 

      int side = 136; 

      try 
      { 
       using (Bitmap bitmap = await App.Model.RenderBitmapAsync(side)) 
       { 
        if (Settings.LoadDynamically.Value == false) 
        { 
         await RenderAsync(bitmap, side, App.Model.One, OneWrapPanel); 
         await RenderAsync(bitmap, side, App.Model.Two, TwoWrapPanel); 
         await RenderAsync(bitmap, side, App.Model.Three, ThreeWrapPanel); 
         await RenderAsync(bitmap, side, App.Model.Four, FourWrapPanel); 
         await RenderAsync(bitmap, side, App.Model.Fiv, FiveWrapPanel); 
        } 
        else 
        { 
         //Custom order goes here, load best order 
        } 

       } 
      } 
      catch (Exception) 
      { 
       NavigationService.GoBack(); 
      } 

      Busy = false; 
     } 
    } 

其中第一樞軸產品的0指數和第五是4索引,從第一個關鍵點開始,我希望能夠確定用戶導航到樞軸5(向左)和樞軸轉動兩個(右側)的次數。從這裏,我想再次知道用戶繼續朝這個方向前進多少次。所以如果用戶去了5,然後是4,還有2到3。一旦收集到這些數據,我希望能夠通過爲每種情況設置某種權重來確定加載每個數據透視項目的最佳順序。

+1

你必須寫邏輯沒有這個分析 – techloverr

+0

我知道,我想我問的是建議或方法來做到這一點。我相信我可以寫出邏輯,但我不確定最好的方式去實現目標。 – Matthew

回答

0

我認爲沒有其他辦法。這很容易:

private void appPivot_LoadedPivotItem(object sender, PivotItemEventArgs e) 
{ 
    startUse = DateTime.Now; 
} 

private void appPivot_UnloadingPivotItem(object sender, PivotItemEventArgs e) 
{ 
    TimeSpan pivotUsage = DateTime.Now - startUse; 
    // Save it somewhere regarding to SelectedPivotItem 
} 

但改變才能在地鐵設計指導,不推薦(我記不清了),但是我個人認爲這是一個好主意。

+0

謝謝。我不一定希望更改數據透視表項的順序,只需按照我原始帖子中所述的最常見的導航方式加載它們的順序即可。我還添加了一些代碼,以向您展示當前的實現。 – Matthew

+0

用戶將如何飛過卸載的樞軸?無論如何它們都將被加載。 – crea7or

+0

他們不會。我只是想讓用戶看起來樞軸的加載速度更快,通過在加載頻率較低的導航樞軸之前加載它們更頻繁導航的那些軸來加快樞軸的加載速度。也許像負載樞軸一,二,然後五,然後三,然後四。也許這是一個壞主意,我應該跳過尚未加載的樞軸,因爲你建議。如果我確實採用跳過方法,那麼這將如何工作? – Matthew