繁体   English   中英

如何确定最常导航到哪个数据透视表项

[英]How to Determine Which Pivot Item is Navigated To Most Often

我使用的数据透视控件在页面上包含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,又从两个到三个。 收集了这些数据后,我希望能够确定(可能通过为每种情况设置某种权重)加载每个枢纽项目的最佳顺序。

我认为没有其他办法。 这很简单:

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
}

但建议不要在Metro设计指南中更改顺序(我记得),但是我个人认为这是个好主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM