Instruktaż: Wiązanie danych z usługi w projekcie na poziomie aplikacji
Dane można powiązać z formantami hosta w poziomie aplikacji.W tym instruktażu przedstawiono sposób dodać formanty do dokumentu programu Microsoft Office Word, kontrole należy powiązać dane pobierane z usługi MSDN zawartości i reagować na zdarzenia zachodzące w czasie wykonywania.
Stosuje się do: informacje w tym temacie dotyczą projektów poziomie aplikacji dla programu Word 2010.Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacji pakietu Office i typ projektu.
W tym instruktażu przedstawiono następujące zadania:
Dodawanie RichTextContentControl formantu do dokumentu w czasie wykonywania.
Wiązanie RichTextContentControl kontrolę danych z usługi sieci Web.
Reagowanie na Entering przypadku RichTextContentControl kontroli.
[!UWAGA]
Na danym komputerze mogą być używane inne nazwy lub lokalizacje pewnych elementów interfejsu użytkownika programu Visual Studio, które są używane w poniższych instrukcjach. Używana wersja programu Visual Studio oraz jej ustawienia określają te elementy. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Wymagania wstępne
Potrzebne do przeprowadzenia tego instruktażu następujące składniki:
-
Wersja Visual Studio 2012 zawierająca narzędzia dla deweloperów pakietu Microsoft Office. Aby uzyskać więcej informacji, zobacz [Konfigurowanie komputera do opracowywania rozwiązań pakietu Office](bb398242\(v=vs.110\).md).
- Word 2013or Word 2010.
Tworzenie nowego projektu
Pierwszym krokiem jest utworzenie Word-w projekcie.
Aby utworzyć nowy projekt
Tworzenie Word-w projekcie o nazwie Usługa zawartości MTPS, przy użyciu języka Visual Basic lub C#.
Aby uzyskać więcej informacji, zobacz Jak: tworzenie projektów pakietu Office w programie Visual Studio.
Otwiera program Visual Studio ThisAddIn.vb lub ThisAddIn.cs plik i dodaje do projektu Solution Explorer.
Dodawanie usługi sieci Web
Do wykonania tej procedury należy użyć usługi sieci Web o nazwie Usługa zawartości MTPS.Ta usługa sieci Web zwraca informacje od określonego artykuł MSDN w formie ciągu XML lub zwykły tekst.Później pokazuje sposób wyświetlania informacji zwracanych w formancie zawartości.
Aby dodać usługi zawartości MTPS do projektu
Na danych menu, kliknij przycisk Dodać nowe źródło danych.
W Kreatora konfiguracji źródła danych, kliknij Service, a następnie kliknij przycisk Dalej.
W adres w polu, wpisz następujący adres URL:
http://Services.msdn.microsoft.com/ContentServices/ContentService.asmx
Click Go.
W nazw wpisz ContentServicei kliknij przycisk OK.
W Kreatora dodawania odniesienia okno dialogowe, kliknij przycisk wykończenie.
Dodawanie formantu zawartości i powiązania danych w czasie wykonywania
W projektach na poziomie aplikacji należy dodać i wiązać formanty w czasie wykonywania.Do wykonania tej procedury należy skonfigurować formant zawartości, aby pobierać dane z usługi sieci Web, gdy użytkownik kliknie wewnątrz formantu.
Aby dodać formant zawartości i powiązany z danymi
W ThisAddIn klasy, deklaruje zmienne dla usługi zawartości MTPS, formant zawartości i wiązania z danymi.
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;
Dodaj następującą metodę do ThisAddIn klasy.Ta metoda tworzy formant zawartości, na początku aktywnego 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."; }
Dodaj następującą metodę do ThisAddIn klasy.Ta metoda inicjuje obiekty potrzebne do tworzenia i wysyłania żądania do usługi sieci 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); }
Utwórz program obsługi zdarzeń, aby pobrać dokument MSDN Library o zawartość formantów, gdy użytkownik kliknie wewnątrz treści kontroli i powiązać dane z formantu zawartości.
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); }
Wywołanie AddRichTextControlAtRange i InitializeServiceObjects metody z ThisAddIn_Startup metoda.Dla programistów C# należy dodać obsługę zdarzeń.
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; }
Badania-dodatek
Po otwarciu programu Word, RichTextContentControl formant jest widoczny.Zmienia tekst w kontroli po kliknięciu wewnątrz niego.
Aby przetestować dodatek
Press F5.
Kliknij wewnątrz formantu zawartości.
Informacje są pobierane z usługi zawartości MTPS i wyświetlane wewnątrz formantu zawartości.
Zobacz też
Inne zasoby
Wiązanie danych do formantów w rozwiązania dla pakietu Office