Freigeben über


Erstellen von Silverlight-Anwendungen für den Zugriff auf SharePoint 2010-Daten

SharePoint-Schnellstartbanner

Erste Schritte mit der Webentwicklung in SharePoint 2010: Informationen zum Erstellen von Microsoft Silverlight-Anwendungen, mit denen SharePoint 2010-Listen in DataGrid-Steuerelementen angezeigt werden, sowie zum Bereitstellen von Silverlight-Anwendungen auf SharePoint-Websites.

Letzte Änderung: Donnerstag, 27. Januar 2011

Gilt für: SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio 2010

Inhalt dieses Artikels
Erstellen eines Silverlight-Anwendungsprojekts
Hinzufügen von Code zum Zugreifen auf und Anzeigen von SharePoint-Listendaten
Bereitstellen und Testen der Projektmappe
Nächste Schritte

In dieser Übung erstellen Sie eine einfache Microsoft Silverlight 3-Anwendung, mit der eine SharePoint Server 2010-Liste in einem DataGrid-Steuerelement angezeigt wird. Die Daten für diese Liste werden mithilfe des Microsoft SharePoint 2010-Clientobjektmodells vom Server abgerufen. Anschließend stellen Sie die Visual Studio 2010-Projektmappe auf dem lokalen Server mit Microsoft SharePoint Server 2010 bereit. Für diese Aufgabe müssen Sie die folgenden Schritte ausführen:

  • Erstellen eines Silverlight-Anwendungsprojekts

  • Hinzufügen von Code zum Zugreifen auf und Anzeigen von SharePoint-Listendaten

  • Bereitstellen und Testen der Projektmappe

HinweisHinweis

Bei dieser Übung wird davon ausgegangen, dass die weiter unten in diesem Thema angegebene Liste Projects in der SharePoint-Website vorhanden ist. Anweisungen zum Erstellen der Liste Projects finden Sie unter Erstellen verlinkter Listen in SharePoint 2010

Erstellen eines Silverlight-Anwendungsprojekts

Für diese Aufgabe erstellen Sie ein SilverlightAnwendungsprojekt in Microsoft Visual Studio 2010.

So erstellen Sie das Silverlight-Projekt

  1. Starten Sie Visual Studio 2010, klicken Sie auf Datei, zeigen Sie auf Neu, und klicken Sie dann auf Projekt.

  2. Navigieren Sie im Abschnitt Installierte Vorlagen zum Knoten Andere Projekttypen, klicken Sie auf Visual Studio-Projektmappen, und klicken Sie dann auf Leere Projektmappe.

  3. Wählen Sie oben im Bildschirm .NET Framework 3.5 aus, geben Sie Begin im Feld Name ein, und klicken Sie dann auf OK.

  4. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  5. Erweitern Sie im Abschnitt Installierte Vorlagen den Eintrag Visual C#, klicken Sie auf Silverlight, und klicken Sie dann auf Silverlight-Anwendung.

  6. Wählen Sie oben im Bildschirm .NET Framework 3.5 aus, geben Sie SPSilverlightExample im Feld Name ein, und klicken Sie dann auf OK.

  7. Klicken Sie im Dialogfeld Neue Silverlight-Anwendung auf OK.

  8. Fügen Sie anschließend einen Verweis auf das SharePoint Silverlight-Clientobjektmodell hinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten SPSilverlightExample, und klicken Sie dann auf Verweise hinzufügen.

  9. Navigieren Sie zu folgendem Ordner: C:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.

  10. Wählen Sie Microsoft.SharePoint.ClientSilverlight.dll und Microsoft.SharePoint.Client.Silverlight.Runtime.dll aus, und klicken Sie dann auf OK.

Hinzufügen von Code zum Zugreifen auf und Anzeigen von SharePoint-Listendaten

Für diese Aufgabe fügen Sie dem Projekt Code hinzu, mit dem Sie auf SharePoint-Listendaten zugreifen und sie anzeigen können.

So fügen Sie dem Projekt Code hinzu

  1. Klicken Sie zum Anzeigen der Toolbox im Menü Ansicht auf Toolbox.

  2. Ziehen Sie ein DataGrid-Steuerelement aus der Toolbox auf das vorhandene Raster in der Seite Page.xaml des Silverlight-Designers.

  3. Erweitern Sie das DataGrid-Steuerelement auf die gesamte Seite. Legen Sie im Eigenschaftenbereich die folgenden Eigenschaften auf die angezeigten Werte fest:

    Eigenschaft

    Wert

    Width

    Auto

    Height

    Auto

    HorizonalAlignment

    Strecken

    VerticalAlignment

    Strecken

    Margin

    0

  4. Aktivieren Sie außerdem im Eigenschaftenbereich das Kontrollkästchen AutoGenerateColumns.

  5. Öffnen Sie die Datei App.xaml.cs, und fügen Sie am Anfang der Datei die folgenden using-Anweisungen hinzu.

    using Microsoft.SharePoint.Client;
    using System.Threading;
    
  6. Fügen Sie am Anfang der Application_Startup-Methode den folgenden Code hinzu.

    ApplicationContext.Init(e.InitParams, SynchronizationContext.Current);
    
  7. Öffnen Sie die Datei MainPage.xaml.cs, und fügen Sie am Anfang der Datei die folgende using-Anweisung hinzu.

    using Microsoft.SharePoint.Client;
    
  8. Fügen Sie vor der MainPage-Klasse die folgende Klasse hinzu.

    public class Project
    {
        public string Title { get; set; }
        public DateTime DueDate { get; set; }
        public string Description { get; set; }
    }
    
  9. Fügen Sie der MainPage-Klasse die folgende Variable hinzu.

    private ListItemCollection _projects;
    
  10. Fügen Sie der MainPage-Methode nach dem Aufruf von InitializeComponent den folgenden Code hinzu.

    ClientContext context = new ClientContext(ApplicationContext.Current.Url);
    context.Load(context.Web);
    List Projects = context.Web.Lists.GetByTitle("Projects");
    context.Load(Projects);
    
    CamlQuery query = new Microsoft.SharePoint.Client.CamlQuery();
    string camlQueryXml = "<View><Query><Where><Gt>" +
        "<FieldRef Name='Due_x0020_Date' />" +
        "<Value Type='DateTime'>2008-01-1T00:00:00Z</Value>" +
        "</Gt></Where></Query><ViewFields>" +
        "<FieldRef Name=\"Title\" /><FieldRef Name=\"Description\" />" +
       "<FieldRef Name=\"Due_x0020_Date\" />" +
        "</ViewFields></View>";
    
    query.ViewXml = camlQueryXml;
    _projects = Projects.GetItems(query);
    context.Load(_projects);
    context.ExecuteQueryAsync(new ClientRequestSucceededEventHandler(OnRequestSucceeded), null);
    
  11. Fügen Sie nach der MainPage-Methode den folgenden Code hinzu.

    private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs args)
    {
        // This is not called on the UI thread.
        Dispatcher.BeginInvoke(BindData);
    }
    
    private void BindData()
    {
        List<Project> projects = new List<Project>();
        foreach (ListItem li in _projects)
        {
            projects.Add(new Project()
            {
                Title = li["Title"].ToString(),
                DueDate = Convert.ToDateTime(li["Due_x0020_Date"].ToString()),
                Description = li["Description"].ToString()
            });
        }
        dataGrid1.ItemsSource = projects; // must be on UI thread
    }
    

    Mit dem in den vorherigen Schritten hinzugefügten Code wird der Kontext des SharePoint Silverlight-Clientobjektmodells (ClientContext) initialisiert. Anschließend wird ein Verweis auf die Liste Projects abgerufen und eine einfache CAML-Abfrage für die Liste ausgeführt, um alle Projekte mit einem Fälligkeitsdatum nach dem 01.01.2008 abzurufen. Die Ergebnisse werden in eine Liste von Projects konvertiert und an das DataGrid-Steuerelement von Silverlight gebunden.

Bereitstellen und Testen der Projektmappe

Für diese Aufgabe werden Sie die Projektmappe bereitstellen und anschließend testen, indem Sie das Webpart der Seite auf der SharePoint-Website hinzufügen.

So stellen Sie die Projektmappe bereit und testen sie

  1. Zum Bereitstellen der Projektmappe für SharePoint muss die vom Silverlight-Projekt erstellte resultierende XAP-Datei im Ordner C:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin gespeichert sein.

    Klicken Sie mit der rechten Maustaste auf den Knoten SPSilverlightExample, klicken Sie auf Eigenschaften, und klicken Sie dann auf Erstellen.

  2. Ändern Sie den Ausgabepfad in C:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.

  3. Erstellen Sie die Projektmappe, indem Sie mit der rechten Maustaste auf den Knoten SPSilverlightExample klicken und dann auf Erstellen klicken. Die XAP-Datei wird in das erforderliche SharePoint-Verzeichnis kopiert, und Sie können nun der SharePoint-Website das Silverlight-Webpart hinzufügen.

  4. Öffnen Sie Internet Explorer, und navigieren Sie zur SharePoint-Website.

  5. Wählen Sie oben auf der Seite das Bearbeitungssymbol aus.

  6. Klicken Sie auf Einfügen und anschließend auf Webpart.

  7. Klicken Sie in der Liste Kategorie auf Medien und Inhalt, klicken Sie in der Webpartliste auf Silverlight-Webpart, und klicken Sie dann auf Hinzufügen.

  8. Geben Sie im Dialogfeld Silverlight-Webpart die Zeichenfolge /_layouts/ClientBin/SPSilverlightExample.xap als URL ein, und klicken Sie dann auf OK.

    Das Webpart sollte so ähnlich wie in Abbildung 1 aussehen.

    Abbildung 1. Silverlight-Webpart mit Project-Listenelementen

    Silverlight-Webpart mit Project-Listenelementen

Nächste Schritte