使用 SharePoint 2010 客户端对象模型生成 WPF 应用程序

SharePoint 快速入门横幅

SharePoint 2010 中的 Web 开发入门:了解如何创建 Windows Presentation Foundation (WPF) 应用程序,以便使用 SharePoint 2010 客户端对象模型从 SharePoint 网站检索数据。

上次修改时间: 2011年1月27日

适用范围: Office 2010 | SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio 2010

本文内容
创建 WPF 应用程序
创建用户界面
使用客户端对象模型检索列表数据
后续步骤

SharePoint 2010 客户端对象模型为 Microsoft SharePoint 2010 开发人员提供了统一而完整的对象模型,以便从远程客户端访问 SharePoint 网站数据。在本练习中,您将使用新的 SharePoint 2010 客户端对象模型,并创建 Windows Presentation Foundation (WPF) 应用程序来从 SharePoint 网站检索列表数据。若要完成此任务,您必须执行以下操作:

  • 创建 WPF 应用程序

  • 创建用户界面

  • 使用客户端对象模型检索列表数据

创建 WPF 应用程序

在该任务中,您将在 Microsoft Visual Studio 2010 中创建 WPF 应用程序。

创建 WPF 应用程序

  1. 若要启动 Visual Studio 2010,请依次单击"开始"菜单、"所有程序"、"Microsoft Visual Studio 2010"和"Microsoft Visual Studio 2010"。

  2. 在"文件"菜单上,指向"新建",然后单击"项目"。

  3. 在"新建项目"对话框窗口中的"已安装的模板"部分,依次单击"Visual C#"和"Windows"。

  4. 从项目项中选择"WPF 应用程序"。

  5. 在"名称"框中,键入 CreateWPFAppUsingClientOM,然后单击"确定"。

  6. 在解决方案资源管理器中,右键单击"CreateWPFAppUsingClientOM",然后单击"属性"。

  7. 在"应用程序"选项卡中,将"目标框架"属性更改为 .NET Framework 4.0。

  8. 在解决方案资源管理器中,右键单击"引用",然后单击"添加引用"。切换到"浏览"选项卡。

  9. 在"文件名"框中,键入以下路径,然后按 Enter:

    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI

  10. 选择"Microsoft.SharePoint.Client.dll"和"Microsoft.SharePoint.Client.Runtime.dll",然后单击"确定"。

创建用户界面

在该任务中,您需将 ListBox 控件添加到 WPF 网格视图,然后添加代码,以便将功能添加到该控件。

创建用户界面

  1. 在解决方案资源管理器中,双击"MainWindow.xaml"打开 XAML 视图。

  2. 在 Grid 元素中插入以下 XAML 代码。

    <ListBox Height="238" Margin="12,11,12,13" Name="ListBox1" Width="254" />
    

    此 XAML 代码可用于创建您将在"设计"视图中看到的新 ListBox 控件,如图 1 所示。

    图 1."设计"视图中的 ListBox

    Designer 视图中的 LiistBox

  3. 在解决方案资源管理器中,右键单击"MainWindow.xaml",然后单击"查看代码"。

  4. 在现有 using 语句后添加以下 using 语句。

    using Microsoft.SharePoint.Client;
    using SP = Microsoft.SharePoint.Client;
    
  5. 在 InitializeComponent() 方法后的 MainWindow 构造函数中插入以下代码。务必将网站 URL 更改为您自己的网站。

    ClientContext context = 
        new ClientContext("http://intranet.contoso.com");
    
    Web site = context.Web;
    context.Load(site, osite => osite.Title);
    context.ExecuteQuery();
    
    Title = site.Title;
    
    ListCollection lists = site.Lists;
    IEnumerable<SP.List> listsCollection =
        context.LoadQuery(lists.Include(l => l.Title, l => l.Id));
    context.ExecuteQuery();
    
    ListBox1.ItemsSource = listsCollection; 
    ListBox1.DisplayMemberPath = "Title";
    

    此代码可用于执行以下操作:

    • 对 SharePoint 网站创建客户端上下文。

    • 查询该网站中的可用 SharePoint 列表,检索这些列表及其 Title 和 Id 属性。

    • 将列表集合绑定到 WPF ListBox 控件。

使用客户端对象模型检索列表数据

在该任务中,您将运行此应用程序,并观察结果。

测试项目

  1. 按"F5"启动此应用程序。

    现在,您将看到应用程序窗口和 ListBox 控件,后者填充有 SharePoint 列表,如图 2 所示。

    图 2. 包括 SharePoint 列表的 ListBox 控件

    具有列表列出功能的 ListBox 控件

  2. 关闭应用程序窗口。

后续步骤