SharePoint 2010 spricht Silverlight (Teil 3)
Kommentare

SharePoint spricht mit Silverlight und umgekehrt

Im Folgenden soll demonstriert werden, wie eine Silverlight-Applikation mit den oben genannten Minimalzutaten in VB.NET entsteht und in eine SharePoint-Site

SharePoint spricht mit Silverlight und umgekehrt

Im Folgenden soll demonstriert werden, wie eine Silverlight-Applikation mit den oben genannten Minimalzutaten in VB.NET entsteht und in eine SharePoint-Site eingebaut wird. Die Anwendung haut zwar nicht vom Hocker, lässt aber erahnen, was die Zukunft bringt. Das Vorhaben: In einer ListBox sollen sämtliche Listen und Dokumentbibliotheken einer Site zur Auswahl gestellt werden. Mit einem Klick auf einen Eintrag der ListBox sollen in einer TextBox der Listenname und in einer weiteren TextBox die Listenbeschreibung angezeigt werden. Zunächst wird also die Benutzerschnittstelle mit den genannten Ausgabesteuerelementen kreiert. Als Werkzeug bietet sich dafür grundsätzlich Expression Blend an. Es reicht aber auch Visual Studio, wenn man XAML beherrscht. Sind die Silverlight-Tools installiert, wird in Visual Studio ein neues Silverlight-Anwendungsprojekt erstellt. Name der Anwendung soll SilverlightSPListen sein. Die Frage, ob die neue Silverlight-Anwendung in einer neuen Website gehostet werden soll, wird verneint. In die automatisch generierte Datei MainPage.xaml wird einfach der Code aus Listing 2:


  
    
      
        
        
      
    
    
    
    
  
  

Wichtig an dieser Stelle: Den Steuerelementen müssen zum Aufruf im Code aussagekräftige Namen mit x:Name=““ zugeordnet werden. Das XAML-IntelliSense im Editor unterstützt dabei die Eingabe. Wer seit Silverlight 2 in Visual Studio den Entwurfsvorschaubereich vermisst, kann diesen wieder einblenden. Unterhalb des Codeeditorbereichs befindet sich ein Splitter, über den die Entwurfsvorschau wieder zum Vorschein gebracht werden kann.

Als Nächstes soll das Silverlight SharePoint API für den Zugriff auf das Client Object Model in das Projekt eingebunden werden. Mittels Rechtsklick auf den Projektnamen im Projektmappen-Explorer und der Auswahl des Menüeintrags VERWEIS HINZUFÜGEN… wird im Reiter DURCHSUCHEN des Dialogfelds VERWEIS HINZUFÜGEN der Pfad C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATELAYOUTSClientBin zu den beiden Bibliotheken Micrsoft.SharePoint.Client.Silverlight.dll und Micrsoft.SharePoint.Client.Silverlight.Runtime.dll aufgerufen, um diese beide auszuwählen und einzubinden. Hierbei wird gleich der Verweis auf die SharePoint-Silverlight-Laufzeitumgebung mitgegeben (Abb. 2).

Verweis auf das Client Object Model
Verweis auf das Client Object Model

Nach einem Wechsel in die VB-Codedatei mit Doppelklick auf MainPage.xaml.vb im Projektmappen-Explorer wird vor allem anderen der Namensraum des Client Object Model mit Imports Microsoft.SharePoint.Client importiert. Die ListBox soll nach dem Laden der Seite mit den Titeln der auf einer SharePoint-Site enthaltenen Listen gefüllt werden. Um eine Beziehung bzw. einen Kontext zwischen der Anwendung und dem gefragten SharePoint-Objekt oder den gewünschten SharePoint-Objekten herzustellen, wird die Klasse ClientContext des Client Object Models verwendet. Für die Methode Page_Loaded wird also zuerst mit einem neuen ClientContext die Verbindung zu SharePoint aufgenommen. Die Hierarchie für den Zugriff auf Listen erfolgt über die Website (Eigenschaft Web), besser gesagt dessen URL oder URI. Praktisch ist hierbei, dass anstatt der Adresse im String-Format die Lokalität der Applikation mit ApplicationContext.Current.Url angegeben werden kann. Durch Angabe der Adresse ließen sich aber auch Objekte einer anderen Site ansprechen. Über die aktuelle Webeigenschaft kann auf darin enthaltene Listen (ListCollection) zugegriffen werden. Diese werden nun im Kontext asynchron mittels einer Abfrage geladen und in die ListBox eingetragen. Die Methode ExecuteQueryAsync ruft dabei eine Erfolgs- und eine Misserfolgsmethode auf, die schließlich asynchron vom jeweiligen Delegaten im Erfolgsfall die ListBox befüllen und zum anderen bei Problemen eine Fehlermeldung ausgeben könnte (in Listing 3 mit Nothing ausgelassen).

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -