65.9K
CodeProject 正在变化。 阅读更多。
Home

构建您的第一个 PivotViewer 应用程序

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (5投票s)

2010年8月18日

CPOL

2分钟阅读

viewsIcon

29612

开始使用 Silverlight PivotViewer

引言

如果你还没有机会了解新的 PivotViewer 控件,请点击 这里这里 了解一下。PivotViewer 控件能够让你的网站访客非常轻松地搜索大量数据。该控件为你处理了许多繁琐的工作。基本上,你只需要告诉它加载一个集合,PivotViewer 就会处理其他所有事情。例如,添加用于输入搜索和排序标准的控件。它使用 DeepZoom 来显示大量的图像并在状态之间进行动画过渡。

入门

在开始编码之前,你需要下载该控件本身。Silverlight 控件可以从 Silverlight.net 上的 PivotViewer 部分 下载。你还需要 Silverlight 工具包,可以在 这里 找到。

你的第一个 PivotViewer

为了让你的第一个 PivotViewer 控件运行起来,在 Visual Studio 中创建一个新的 Silverlight 项目,并向 Silverlight 项目添加所有 5 个 PivotViewer 程序集。这些程序集可以在 C:\Program Files\Microsoft SDKs\Silverlight\v4.0\PivotViewer\Jun10\Bin 或 64 位系统上的 C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0\PivotViewer\Jun10\Bin 中找到。

MainPage.xaml 中,添加 System.Windows.Pivot 命名空间的 XML 命名空间定义,并将控件添加到 LayoutRoot 网格中。

<UserControl x:Class="PivotViewerGettingStarted.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:Pivot="clr-namespace:System.Windows.Pivot;assembly=System.Windows.Pivot">
  <Grid x:Name="LayoutRoot" Background="White">
    <Pivot:PivotViewer x:Name="Pivot"/>
  </Grid>
</UserControl> 

将数据加载到 PivotViewer 控件中需要在 CodeBehind 中完成。PivotViewer 包含一个 LoadCollection 方法,该方法接受指向 .CXML 文件的 URL。该文件可以存储在 Web 上的任何位置,只要有一个有效的 ClientAccessPolicy.xml 文件即可访问。为了演示,GetPivot.com 网站上提供了一些集合(在本教程的末尾,我添加了这些集合的列表)。在本例中,我使用了 AMG Movies Collection。

LoadCollection 方法还需要一个状态值。通常,此值设置为 string.Empty

public MainPage(){
  InitializeComponent();
  Pivot.LoadCollection(
    "http://content.getpivot.com/collections/amg/Top_Movies.cxml"
    ,string.Empty);
}

点击 这里 查看正在运行的控件。

下一步

虽然使用 GetPivot.com 上的集合对于演示或学习如何使用 PivotViewer 开发非常有用,但你不会在实际应用程序中使用这些集合。你需要创建自己的集合。请查看 GetPivot.com 的这部分内容,了解关于 Excel 扩展 的信息,以创建集合。

创建集合的另一种方法是让你的程序控制并构建运行时集合。我将在下一个教程中解释这一点。

如果你等不及想了解更多信息,请阅读 www.getpivot.com 上的开发者部分。

其他示例资源

在 GetPivot.com 网站上,还有一些其他的 .CXML 集合可以在你的应用程序中尝试

PivotViewerExample.png

© . All rights reserved.