Partilhar via


Demonstra Passo a passo: Ligação a dados de um Serviço em um projeto de nível de aplicativo

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • Word 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Iniciando no Visual Studio 2008 Serviço Pack 1 (SP1), você pode Ligar dados a controles host em projetos de nível de aplicativo.Esta explicação passo a passo demonstra como adicionar controles a um documento do Microsoft Office Word, ligar os controles a dados recuperados do serviço de conteúdo do MSDN e responder a eventos em tempo de execução.

Essa explicação passo a passo ilustra as seguintes tarefas:

Observação:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio.

Pré-requisitos

Para completar este passo a passo, são necessários os seguintes componentes:

  • Ferramentas do Visual Studio para o Office (um componente opcional do O Visual Studio 2008 Professional e Visual Studio Team System).

    Ferramentas do Visual Studio para o Office é instalado por padrão com as versões listadas do Visual Studio.Para Marcar se ele está instalado, Marcar Instalando o Visual Studio Tools para Office.

  • Word 2007.

Criando um novo projeto

A Primeiro etapa é criar uma palavra Adicionar no projeto.

Para criar um novo projeto

  • Criar um Word 2007 Adicionar no projeto de com o nome do serviço de conteúdo de MSDN, usando o Visual Basic ou C#.

    For more information, see Como: Criar o Visual Studio Tools para projetos do Office.

    O Visual Studio abre o ThisAddIn.vb ou ThisAddIn.cs arquivo e adiciona o projeto para Gerenciador de Soluções.

Adicionar um serviço da Web

Para esta explicação passo a passo, use um serviço de Web chamado o serviço de conteúdo do MSDN.Este serviço da Web retorna informações de um artigo do MSDN especificado na forma de uma cadeia de caracteres XML ou texto Normal.Uma etapa posterior mostra como exibir as informações retornadas em um Controlarar de conteúdo.

Para adicionar o serviço de conteúdo do MSDN para o projeto

  1. No menu Data, clique em Add New Data Source.

  2. No do Origem de Dados Configuration Assistente, clique em Serviçoe clique em Avançar.

  3. No campo endereço, tipo a seguinte URL:

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

  4. Clique em Go.

  5. No campo Namespace, tipo ContentServicee clique em OK.

  6. Em Adicionar referência AssistenteCaixa de Diálogo, clique em Concluir.

Adicionar um Controlarar de conteúdo e a ligação a dados em tempo de execução

Em projetos de nível de aplicativo, você Adicionar e Ligar controles em tempo de execução.Para esta explicação passo a passo, configure o Controlarar de conteúdo para recuperar dados do serviço da Web quando um usuário clicar dentro do Controlarar.

Para adicionar um Controlarar de conteúdo e Ligar a dados

  1. Na classe ThisAddIn, declare as variáveis para o serviço de conteúdo do MSDN, o Controlarar de conteúdo e a ligação de dados.

    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. Adicionar o seguinte método à classe ThisAddIn.Esse método cria um Controlarar de conteúdo no início do documento ativo.

    Private Sub AddRichTextControlAtRange()
    
        Dim currentDocument As Word.Document = Me.Application.ActiveDocument
        currentDocument.Paragraphs(1).Range.InsertParagraphBefore()
    
        Dim extendedDocument As Document = currentDocument.GetVstoObject()
        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 = currentDocument.GetVstoObject();
        richTextContentControl = extendedDocument.Controls.AddRichTextContentControl(
            currentDocument.Paragraphs[1].Range, "richTextContentControl");
        richTextContentControl.PlaceholderText =
            "Click here to download MSDN Library information about content controls.";
    }
    
  3. Adicionar o seguinte método à classe ThisAddIn.Esse método inicializa os objetos necessários para criar e enviar uma Solicitar para o serviço da Web.

    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. Criar um manipulador de eventos para recuperar o documento da biblioteca MSDN sobre o conteúdo controla quando um usuário clicar dentro do conteúdo controlar e ligar os dados para o controle de conteúdo.

    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. Chamar o AddRichTextControlAtRange e InitializeServiceObjects métodos de o método ThisAddIn_Startup.Para programadores de C#, Adicionar um manipulador de eventos.

    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 +=
            new EventHandler<ContentControlEnteringEventArgs>
                (richTextContentControl_Entering);
    }
    

Teste o Adicionar - no

Quando você Abrir Word, o Controlarar de RichTextContentControl aparece.O texto no Controlarar é alterado quando você Clique dentro dela.

Para testar o Adicionar - in

  1. Pressione F5.

  2. Clique dentro do Controlarar de conteúdo.

    Informações são baixadas do serviço de conteúdo do MSDN e exibidas dentro do Controlarar de conteúdo.

Consulte também

Conceitos

Vinculando dados a controles

Date

History

Motivo

De 2008 de julho

Tópico adicionado.

Alteração de recurso do SP1.