مشاركة عبر


الإرشادات التفصيلية: الربط إلى بيانات من خدمة في مشروع على مستوى التطبيق

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى التطبيق

إصدار Microsoft Office

  • Word 2007

  • Word 2010

يمكنك ربط بيانات إلى عناصر تحكم المضيف في مشاريع على مستوى التطبيق. توضح هذه الإرشادات التفصيلية كيفية إضافة عناصر تحكم إلى مستند Microsoft Office Word بربط عناصر التحكم على البيانات التي تم استردادها من خدمة محتوى MSDN والاستجابة لأحداث في وقت التشغيل.

توضح هذه الإرشادات التفصيلية المهام التالية:

ملاحظة

قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

المتطلبات الأساسية

تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:

-

إصدار لـ Visual Studio 2010 يشمل أدوات مطوري Microsoft Office. لمزيد من المعلومات، راجع [تكوين كمبيوتر لتطوير حلول Office](bb398242\(v=vs.100\).md).
  • Microsoft Office Word 2007 أو Word 2010. :

إنشاء مشروع جديد

الخطوة الأولى هي إنشاء مشروع وظيفة Word إضافية.

لإنشاء أحد المشروعات الجديدة

إضافة خدمة ويب

للحصول على هذه الإرشادات التفصيلية استخدم خدمة ويب تسمى خدمة محتوى MTPS. تقوم خدمة ويب هذه بإرجاع معلومات من مقالة محددة في نموذج من سلسلة XML أو نص عادي. سيظهر فى خطوة لاحقة كيفية عرض المعلومات التي تم إرجاعها في عنصر تحكم محتوى.

لإضافة قالب خدمة المحتوى MTPS إلى المشروع

  1. في قائمة البيانات ,انقر فوق إضافة مصدر بيانات جديد.

  2. في معالج تكوين مصدر البيانات ، انقر فوق الخدمةثم انقر فوق التالي.

  3. في الحقل عنوان قم بكتابة URL التالي:

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

  4. انقر فوق انتقال.

  5. في الحقل مساحة الاسم ، اكتب ContentServiceثم انقر فوق موافق .

  6. في مربع الحوار معالج إضافة مرجع ، انقر فوق علامة تبويب إنهاء .

إضافة عنصر تحكم محتوى و الربط إلى بيانات في وقت التشغيل

في المشاريع التي على مستوى التطبيق ، يمكنك إضافة وربط عناصر التحكم في وقت التشغيل . من أجل هذه الإرشادات التفصيلية، قم بتكوين عنصر تحكم المحتوى لإسترداد بيانات من خدمة ويب عندما يقوم مستخدم بالنقر داخل عنصر التحكم.

لإضافة عنصر تحكم محتوى ثم ربط البيانات

  1. في فئة ThisAddIn ، تقوم بالتصريح بالمتغيرات الخاصة بخدمة المحتوى MTPS و محتوى عنصر تحكم وربط. البيانات

    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. قم بإضافة الأسلوب التالي إلى الفئة ThisAddIn . ينشئ هذا الأسلوب محتوى عنصر التحكم في بداية المستند النشط.

    Private Sub AddRichTextControlAtRange()
    
        Dim currentDocument As Word.Document = Me.Application.ActiveDocument
        currentDocument.Paragraphs(1).Range.InsertParagraphBefore()
    
        ' Use the following line of code in projects that target the .NET Framework 4.
        Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument)
    
        ' In projects that target the .NET Framework 3.5, use the following line of code instead.
        ' 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();
    
        // Use the following line of code in projects that target the .NET Framework 4.
        Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
        // In projects that target the .NET Framework 3.5, use the following line of code instead.
        // 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. قم بإضافة الأسلوب التالي إلى الفئة ThisAddIn . هذا الأسلوب يقوم بتهيئة الكائنات المطلوبة لإنشاء وإرسال طلب إلى خدمة ويب.

    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. قم بإنشاء معالج أحداث لاسترداد مكتبة المستند MSDN حول عناصر تحكم المحتوى عندما يقوم مستخدم بالنقر داخل عنصر تحكم المحتوى ثم بربط البيانات إلى عنصر تحكم المحتوى.

    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. قم باستدعاء الأسلوب التالي من AddRichTextControlAtRange ،وأساليب InitializeServiceObjects ،من أسلوب ThisAddIn_Startup . لمبرمجين C# ، قم بإضافة معالج أحداث.

    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;
    }
    

اختبار الوظائف الإضافية

عند فتح عنصر تحكم Word RichTextContentControl يظهر. النص الموجود في عنصر التحكم يتغير عند النقر داخله.

لاختبار الوظيفة الإضافية

  1. اضغط المفتاح F5.

  2. انقر داخل محتويات عنصر تحكم المحتويات.

    يتم تنزيل معلومات من خدمة محتوى MTPS وعرضها داخل عنصر تحكم المحتوى.

راجع أيضًا:

موارد أخرى

ربط بيانات إلى عناصر تحكم في حلول Office