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:

[!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:

Vytvoření nového projektu

První krok je vytvořit projekt doplňku aplikace Word.

Vytvoření nového projektu

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

  1. Na dat nabídky, klepněte na Přidat nový zdroj dat.

  2. V Průvodce konfigurací zdroje dat, klepněte na službya klepněte na tlačítko Další.

  3. V adresa pole, zadejte následující adresu URL:

    http://Services.msdn.microsoft.com/ContentServices/ContentService.asmx

  4. Klepněte na tlačítko Přejít.

  5. V obor názvů pole, zadejte ContentServicea na OK.

  6. 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

  1. 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;
    
  2. 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.";
    }
    
  3. 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);
    }
    
  4. 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);
    }
    
  5. 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

  1. Stiskněte tlačítko F5.

  2. 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.

Viz také

Další zdroje

Vázání dat k ovládacím prvkům v řešeních pro systém Office