Návod: Vytvoření vazby na data ze služby v projektu na úrovni aplikace
Data můžete svázat ovládací prvky hostitel projekty na úrovni aplikace.Tento návod ukazuje, jak přidat ovládací prvky v dokumentu Microsoft Office Word, svázat ovládací prvky pro data načtená z obsahu služby MSDN a reagovat na události v době běhu.
Platí pro: informace v tomto tématu se vztahují na projekty na úrovni aplikace Word 2010.Další informace naleznete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.
Tento návod ilustruje následující úkoly:
Přidání RichTextContentControl dokument za běhu ovládací prvek.
Vazba RichTextContentControl ovládací prvek na data z webové služby.
Reakce na Entering události RichTextContentControl řízení.
[!POZNÁMKA]
Na vašem počítači se můžou v následujících pokynech zobrazovat jiné názvy nebo umístění některých prvků uživatelského rozhraní Visual Studia. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.
Požadavky
Chcete-li dokončit tento návod, potřebujete následující komponenty:
Edice Visual Studia 2013, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace najdete v tématu Konfigurace počítače pro vývoj řešení pro systém Office.
Word 2013 nebo Word 2010.
Vytvoření nového projektu
První krok je vytvořit projekt doplňku aplikace Word.
Vytvoření nového projektu
Vytvořte projekt doplňku aplikace Word s názvem MTPS obsahu služby pomocí jazyka Visual Basic nebo C#.
Další informace naleznete v tématu Postupy: Vytváření projektů pro systém Office v prostředí Visual Studio.
Visual Studio otevře ThisAddIn.vb nebo ThisAddIn.cs soubor a přidá do projektu Průzkumníku.
Přidání webové služby
V tomto návodu použijte webovou službu nazývá služba MTPS obsahu.Tato webová služba vrátí informace ze zadaného článku MSDN ve formě řetězec XML nebo prostý text.Později ukazuje, jak zobrazit informace vrácené v obsahu prvku.
Přidání obsahu služby MTPS projektu
Na dat nabídky, klepněte na Přidat nový zdroj dat.
V Průvodce konfigurací zdroje dat, klepněte na službya klepněte na tlačítko Další.
V adresa pole, zadejte následující adresu URL:
http://Services.msdn.microsoft.com/ContentServices/ContentService.asmx
Klepněte na tlačítko Přejít.
V obor názvů pole, zadejte ContentServicea na OK.
V Průvodce Přidat odkaz dialogové okno, klepněte na Dokončit.
Přidání ovládacího prvku obsahu a vazby na Data v době běhu
V projekty na úrovni aplikace přidat a svázat ovládací prvky za běhu.Tento návod nakonfigurujte ovládací prvek obsahu k načtení dat z webové služby po klepnutí uvnitř ovládacího prvku.
Přidat ovládací prvek obsahu a vázat na data
V ThisAddIn třídy, proměnné deklarovat obsahu služby MTPS, ovládací prvek obsahu a datové vazby.
Private request As ContentService.getContentRequest Private proxy As ContentService.ContentServicePortTypeClient Private document As ContentService.requestedDocument() Private response As ContentService.getContentResponse Private appId As ContentService.appId Private WithEvents richTextContentControl As Microsoft.Office.Tools.Word.RichTextContentControl Private components As System.ComponentModel.Container Private primaryDocumentsBindingSource As System.Windows.Forms.BindingSource
private ContentService.getContentRequest request; private ContentService.ContentServicePortTypeClient proxy; private ContentService.requestedDocument[] document; private ContentService.getContentResponse response; private ContentService.appId appId; private Microsoft.Office.Tools.Word.RichTextContentControl richTextContentControl; private System.ComponentModel.Container components; private System.Windows.Forms.BindingSource primaryDocumentsBindingSource;
Přidejte následující metodu ThisAddIn třídy.Tato metoda vytvoří ovládací prvek obsahu na začátku aktivního dokumentu.
Private Sub AddRichTextControlAtRange() Dim currentDocument As Word.Document = Me.Application.ActiveDocument currentDocument.Paragraphs(1).Range.InsertParagraphBefore() Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument) richTextContentControl = extendedDocument.Controls.AddRichTextContentControl _ (currentDocument.Paragraphs(1).Range, "richTextControl2") richTextContentControl.PlaceholderText = _ "Click here to download MSDN Library information about content controls." End Sub
private void AddRichTextControlAtRange() { Word.Document currentDocument = this.Application.ActiveDocument; currentDocument.Paragraphs[1].Range.InsertParagraphBefore(); Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument); richTextContentControl = extendedDocument.Controls.AddRichTextContentControl( currentDocument.Paragraphs[1].Range, "richTextContentControl"); richTextContentControl.PlaceholderText = "Click here to download MSDN Library information about content controls."; }
Přidejte následující metodu ThisAddIn třídy.Tato metoda inicializuje objekty potřebné vytvořit a odeslat požadavek webové služby.
Private Sub InitializeServiceObjects() request = New ContentService.getContentRequest() proxy = New ContentService.ContentServicePortTypeClient() document = New ContentService.requestedDocument(0) {} response = New ContentService.getContentResponse() appId = New ContentService.appId() components = New System.ComponentModel.Container() primaryDocumentsBindingSource = New System.Windows.Forms.BindingSource(components) End Sub
private void InitializeServiceObjects() { request = new ContentService.getContentRequest(); proxy = new ContentService.ContentServicePortTypeClient(); document = new ContentService.requestedDocument[1]; response = new ContentService.getContentResponse(); appId = new ContentService.appId(); components = new System.ComponentModel.Container(); primaryDocumentsBindingSource = new System.Windows.Forms.BindingSource(this.components); }
Vytvoření obslužné rutiny události načtení knihovny MSDN dokument o obsah ovládacích prvků, když uživatel klepne v rámci obsahu ovládacího prvku a data svázat ovládací prvek obsahu.
Private Sub richTextContentControl_Entering _ (ByVal sender As Object, ByVal e As ContentControlEnteringEventArgs) _ Handles richTextContentControl.Entering document(0) = New ContentService.requestedDocument() With document(0) .type = ContentService.documentTypes.primary .selector = "Mtps.Xhtml" End With With request .contentIdentifier = "ed59e522-dd6e-4c82-8d49-f5dbcfcc950d" .locale = "en-us" .version = "VS.90" .requestedDocuments = document End With response = proxy.GetContent(appId, request) primaryDocumentsBindingSource.DataSource = _ response.primaryDocuments(0).Any.InnerText richTextContentControl.DataBindings.Add("Text", _ primaryDocumentsBindingSource.DataSource, "", True, _ System.Windows.Forms.DataSourceUpdateMode.OnValidation) End Sub
void richTextContentControl_Entering(object sender, ContentControlEnteringEventArgs e) { document[0] = new ContentService.requestedDocument(); document[0].type = ContentService.documentTypes.primary; document[0].selector = "Mtps.Xhtml"; request.contentIdentifier = "ed59e522-dd6e-4c82-8d49-f5dbcfcc950d"; request.locale = "en-us"; request.version = "VS.90"; request.requestedDocuments = document; response = proxy.GetContent(appId, request); primaryDocumentsBindingSource.DataSource = response.primaryDocuments[0].Any.InnerText; richTextContentControl.DataBindings.Add("Text", primaryDocumentsBindingSource.DataSource, "", true, System.Windows.Forms.DataSourceUpdateMode.OnValidation); }
Volání AddRichTextControlAtRange a InitializeServiceObjects metody ThisAddIn_Startup metoda.C# programátory přidejte obslužnou rutinu události.
Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup AddRichTextControlAtRange() InitializeServiceObjects() End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e) { AddRichTextControlAtRange(); InitializeServiceObjects(); this.richTextContentControl.Entering += richTextContentControl_Entering; }
Testování doplněk
Při otevření aplikace Word, RichTextContentControl se zobrazí ovládací prvek.Text ovládacího prvku změní, když klepnete uvnitř.
Testování v
Stiskněte tlačítko F5.
Klepněte na tlačítko uvnitř ovládacího prvku obsahu.
Informace je stáhnout ze služby MTPS obsahu a zobrazí uvnitř ovládacího prvku obsahu.