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
Versão do Microsoft Office
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:
Adicionar um Controlarar de RichTextContentControl a um documento em tempo de execução.
Vinculando o Controlarar de RichTextContentControl a dados de um serviço da Web.
Responder ao evento Entering de um Controlarar de RichTextContentControl.
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
No menu Data, clique em Add New Data Source.
No do Origem de Dados Configuration Assistente, clique em Serviçoe clique em Avançar.
No campo endereço, tipo a seguinte URL:
http://Services.msdn.microsoft.com/ContentServices/ContentService.asmx
Clique em Go.
No campo Namespace, tipo ContentServicee clique em OK.
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
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;
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."; }
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); }
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); }
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
Pressione F5.
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
Date |
History |
Motivo |
---|---|---|
De 2008 de julho |
Tópico adicionado. |
Alteração de recurso do SP1. |