在Windows Phone 8中显示大量内容的最佳方法是什么

时间:2013-12-20 15:15:27

标签: xaml windows-phone-8

我有大量的内容,大小相当于一本小书的大小,超过10k字,我当时正在考虑制作类似读者的风格,但Windows Phone SDK没有这样的控制。

我该如何处理这些数据?

1 个答案:

答案 0 :(得分:2)

材料是分为章节还是章节?如果是这样,那怎么样:

LongListSelector来保存章节;这是你的目录。选择章节将打开一个新页面。

将部分材料分成足够内容的各种“页面”以填充手机屏幕。动态创建PivotItems以保存每个页面。这样,用户可以左右滑动以更改页面。

提供appbar按钮以前进和后退章节,以及指向目录的链接。

这是你的想法吗?

编辑:为动态透视项目提供一些示例代码。

您需要添加一个foreach循环,if语句或其他项来确定要创建的PivotItem的时间/数量。此外,如果您已经加载了页面,或者最终会出现重复的PivotItem,请包含if语句以跳过此代码。我通常在重写的OnNavigatedTo方法中执行此操作。

PivotItem pivotItem = new PivotItem()
{
    Header = "Header"
    // Add the rest of your PivotItem specific values here
};

// You'll need to add the grid item, and contents, that will reside in the PivotItem
Grid grid = new Grid();
grid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
grid.RowDefinitions.Add(new RowDefinition());

TextBlock textBlock = new TextBlock();
textBlock.Text = "Text";
/* Don't apply styling in code behind. It won't work. Make the style item in XAML and set it via Control.Style for the given item */
textBlock.Style = PivotItemTitleStyle;

// Make sure you add the various items to the grid
grid.Children.Add(textBlock);

// Add the grid to the PivotItem
pivotItem.Content = grid;

/* And the PivotItem to the Pivot control. Do this for each PivotItem you need via a foreach loop, etc. */
MainPivot.Items.Add(pivotItem);

编辑:要记住的一件重要事情:你不能折叠PivotItems。它们的内容可以折叠,但该项目仍将出现在应用程序中(用户将滑动到空白对象)。如果您需要隐藏该项,则需要将其从Pivot控件中实际删除。