Sdílet prostřednictvím


Názorný postup: Vlastní částí XML ovládací prvky obsahu vazby

Tento návod ukazuje, jak svázat ovládací prvky obsahu přizpůsobení úroveň dokument aplikace Word na data XML, který je uložen v dokumentu.

Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu v aplikacích Word 2013 a Word 2010. Další informace naleznete v tématu Funkce aplikace Office a typ projektu.

Aplikace Word umožňuje ukládat data XML s názvem vlastní části XML, v dokumentu.Zobrazení dat lze řídit vazby ovládacích prvků obsahu prvků v vlastní část XML.Příklad dokumentu v tomto návodu zobrazí zaměstnance informace uložené ve vlastní část XML.Při otevření dokumentu zobrazit ovládací prvky obsahu hodnoty elementů XML.Jakékoli změny provedené v textu ovládací prvky obsahu jsou uloženy ve vlastní části XML.

Tento návod ilustruje následující úkoly:

  • Přidání ovládacích prvků obsahu do dokumentu aplikace Word v dokumentu úroveň projektu v době návrhu.

  • Vytvoření datového souboru XML a schématu XML, který definuje prvky svázat ovládací prvky obsahu.

  • Připojení schématu XML v dokumentu v době návrhu.

  • Přidání obsahu souboru XML za běhu vlastní část XML v dokumentu.

  • Vázání ovládacích prvků obsahu prvků v části vlastní XML.

  • Vazba DropDownListContentControl sady hodnot, které jsou definovány ve schématu XML.

[!POZNÁMKA]

Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Požadavky

Chcete-li dokončit tento návod, potřebujete následující komponenty:

-

Edice sady Visual Studio 2012, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace naleznete v tématu [Konfigurace počítače vyvinout řešení Office](bb398242\(v=vs.110\).md).
  • Word 2013 nebo Word 2010.

odkaz na video Video verzi tohoto tématu, viz Video postupy: vazba kontrolu obsahu vlastní části XML.

Vytvoření nového projektu dokument aplikace Word

Vytvořte dokument aplikace Word, který budete používat v tomto návodu.

Vytvořit nový projekt dokumentu aplikace Word

  • Vytvořte projekt dokumentu aplikace Word s názvem EmployeeControls.Vytvořte nový dokument pro řešení.Další informace naleznete v tématu Jak: vytvoření Office projekty v aplikaci Visual Studio.

    Visual StudioNový dokument aplikace Word se otevře v návrháři a přidá do projektu EmployeeControls na Průzkumníku.

Přidání ovládacích prvků obsahu do dokumentu

Vytvořte tabulku, která obsahuje tři různé typy obsahu prvků, kde uživatel může zobrazit nebo upravit informace o zaměstnanci.

Přidání ovládacích prvků obsahu do dokumentu

  1. V dokumentu aplikace Word, který je umístěn v Visual Studio Návrhář pásu karet klepněte Vložení kartu.

  2. V tabulky skupinu, klepněte na tabulkya vložit tabulku s 2 sloupců a řádků, 3.

  3. V prvním sloupci zadejte text, takže je podobná následující sloupce:

    Jméno zaměstnance

    Datum nástupu

    Title

  4. Ve druhém sloupci tabulky, klepněte na první řádek (vedle Jméno zaměstnance).

  5. Na pásu karet klepněte Developer kartu.

    [!POZNÁMKA]

    Pokud Developer kartě není viditelná, musíte nejprve zobrazit.Další informace naleznete v tématu Jak: zobrazit na pásu kartu Vývojář.

  6. V prvky skupinu, klepněte Text tlačítko PlainTextContentControl přidat PlainTextContentControl na první buňku.

  7. Ve druhém sloupci tabulky, klepněte na tlačítko v druhém řádku (vedle ZaměstnánOd).

  8. V prvky skupinu, klepněte Výběr data tlačítko DatePickerContentControl přidat DatePickerContentControl do druhé buňky.

  9. Ve druhém sloupci tabulky klepněte na třetí řádek (vedle název).

  10. V prvky skupinu, klepněte Rozevíracího seznamu tlačítko DropDownListContentControl přidat DropDownListContentControl na poslední buňku.

To je celé uživatelské rozhraní pro tento projekt.Při spuštění projektu nyní můžete zadat text v prvním řádku a vyberte datum v druhém řádku.Dalším krokem je připojit data, která chcete zobrazit dokument v souboru XML.

Vytvoření datového souboru XML

Obvykle je získat data XML ukládat vlastní část XML z externího zdroje, například soubor nebo databázi.V tomto návodu vytvoříte soubor XML obsahující data zaměstnance, označeny elementy, které bude svázat ovládací prvky obsahu v dokumentu.Zpřístupnit data za běhu, vložte soubor XML jako prostředek v sestavení vlastního nastavení.

Vytvoření datového souboru

  1. V nabídce Projekt klikněte na příkaz Přidat novou položku.

    Zobrazí se dialogové okno Přidat novou položku.

  2. V šablony podokně vyberte Soubor XML.

  3. Název souboru employees.xmla klepněte na tlačítko Přidat.

    Employees.xml soubor se otevře v editoru kódu.

  4. Nahraďte obsah employees.xml soubor s následující text.

    <?xml version="1.0" encoding="utf-8" ?>
    <employees xmlns="https://schemas.microsoft.com/vsto/samples">
      <employee>
        <name>Karina Leal</name>
        <hireDate>1999-04-01</hireDate>
        <title>Manager</title>
      </employee>
    </employees>
    
  5. V Průzkumníku, klepněte na employees.xml.

  6. V Vlastnosti vyberte Akce sestavení vlastnost a potom změňte hodnotu na Integrovaný prostředek.

    Tento krok vloží soubor XML jako prostředek v sestavení při sestavení projektu.Umožňuje přístup k obsahu souboru XML za běhu.

Vytvoření schématu XML

Pokud chcete svázat ovládací prvek obsahu prvek vlastní část XML, není nutné použít schéma XML.Však vytvořit vazbu DropDownListContentControl sady hodnot, je nutné vytvořit schéma XML, který ověřuje datový soubor XML, který jste vytvořili dříve.Schéma XML definuje možné hodnoty title prvku.Vytvoří vazbu DropDownListContentControl na tento prvek později v tomto návodu.

Vytvořit schéma XML

  1. V nabídce Projekt klikněte na příkaz Přidat novou položku.

    Zobrazí se dialogové okno Přidat novou položku.

  2. V šablony podokně vyberte Schéma XML.

  3. Název schématu employees.xsd a na Přidat.

    Otevře se Návrhář schématu.

  4. V Průzkumníku, klepněte pravým tlačítkem employees.xsda klepněte na tlačítko Zobrazení kódu.

  5. Nahraďte obsah employees.xsd soubor s následujícím schématem.

    <?xml version="1.0" encoding="utf-8" ?>
    <xs:schema xmlns="https://schemas.microsoft.com/vsto/samples" 
        targetNamespace="https://schemas.microsoft.com/vsto/samples"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        elementFormDefault="qualified">
      <xs:element name="employees" type="EmployeesType"></xs:element>
      <xs:complexType name="EmployeesType">
        <xs:all>
          <xs:element name="employee" type="EmployeeType"/>
        </xs:all>
      </xs:complexType>
      <xs:complexType name="EmployeeType">
        <xs:sequence>
          <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="hireDate" type="xs:date" minOccurs="1" maxOccurs="1"/>
          <xs:element name="title" type="TitleType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="TitleType">
        <xs:restriction base="xs:string">
          <xs:enumeration value ="Engineer"/>
          <xs:enumeration value ="Designer"/>
          <xs:enumeration value ="Manager"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:schema>
    
  6. Na soubor nabídky, klepněte na Uložit všechny uložit změny employees.xml a employees.xsd soubory.

Připojení schématu XML v dokumentu

Musíte připojit schéma XML dokumentu pro vazbu DropDownListContentControl platné hodnoty title prvku.

K dokumentu připojit schéma XML

  1. Aktivovat EmployeeControls.docx v návrháři.

  2. Na pásu karet klepněte Developer kartu.

  3. V XML skupinu, klepněte na schéma.

  4. V šablony a doplňky dialogové okno, klepněte Schéma XML kartu a potom klepněte na tlačítko Přidat schéma.

  5. Přejděte employees.xsd schéma vytvořené dříve, který je umístěn v adresáři projektu a klepněte na Otevřít.

  6. Klepněte na OK v Nastavení schématu dialogové okno.

  7. Klepněte na OK zavřete šablony a doplňky dialogové okno.

    Strukturu XML podokno úloh otevře.

  8. Zavřít Strukturu XML podokno úloh.

Přidání vlastní části XML dokumentu

Před elementy v souboru XML můžete svázat ovládací prvky obsahu, musíte přidat nové vlastní části XML v dokumentu obsah souboru XML.

Přidat vlastní části XML dokumentu

  1. V Průzkumníku, klepněte pravým tlačítkem ThisDocument.cs nebo ThisDocument.vba klepněte na tlačítko Zobrazení kódu.

  2. Přidejte následující prohlášení ThisDocument třídy.Tento kód deklaruje několik objektů, které použijete k přidání vlastní části XML dokumentu.

    <Cached()> _
    Public employeeXMLPartID As String = String.Empty
    Private employeeXMLPart As Office.CustomXMLPart
    Private Const prefix As String = "xmlns:ns='https://schemas.microsoft.com/vsto/samples'"
    
    [CachedAttribute()]
    public string employeeXMLPartID = string.Empty;
    private Office.CustomXMLPart employeeXMLPart;
    private const string prefix = "xmlns:ns='https://schemas.microsoft.com/vsto/samples'";
    
  3. Přidejte následující metodu ThisDocument třídy.Tato metoda načte obsah datového souboru XML, který je vložen jako prostředek v sestavení a vrátí obsah jako řetězec XML.

    Private Function GetXmlFromResource() As String
        Dim asm As System.Reflection.Assembly = _
            System.Reflection.Assembly.GetExecutingAssembly()
        Dim stream1 As System.IO.Stream = asm.GetManifestResourceStream( _
                "EmployeeControls.employees.xml")
    
        Using resourceReader As System.IO.StreamReader = _
            New System.IO.StreamReader(stream1)
            If resourceReader IsNot Nothing Then
                Return resourceReader.ReadToEnd()
            End If
        End Using
    
        Return Nothing
    End Function
    
    private string GetXmlFromResource()
    {
        System.Reflection.Assembly asm =
            System.Reflection.Assembly.GetExecutingAssembly();
        System.IO.Stream stream1 = asm.GetManifestResourceStream(
            "EmployeeControls.employees.xml");
    
        using (System.IO.StreamReader resourceReader =
                new System.IO.StreamReader(stream1))
        {
            if (resourceReader != null)
            {
                return resourceReader.ReadToEnd();
            }
        }
    
        return null;
    }
    
  4. Přidejte následující metodu ThisDocument třídy.AddCustomXmlPart Metoda vytvoří nový vlastní část XML, který obsahuje řetězec XML, který je předán metodě.

    Zajistit, že vlastní část XML je vytvořen pouze jednou, metoda vytvoří vlastní XML část pouze v případě vlastní část XML s odpovídající identifikátor GUID již neexistuje v dokumentu.Tato metoda je volána, poprvé uloží hodnotu Id vlastnost employeeXMLPartID řetězec.Hodnota employeeXMLPartID trvalý je řetězec v dokumentu, protože byla deklarována pomocí CachedAttribute atribut.

    Private Sub AddCustomXmlPart(ByVal xmlData As String)
        If xmlData IsNot Nothing Then
    
            employeeXMLPart = Me.CustomXMLParts.SelectByID(employeeXMLPartID)
            If (employeeXMLPart Is Nothing) Then
                employeeXMLPart = Me.CustomXMLParts.Add(xmlData)
                employeeXMLPart.NamespaceManager.AddNamespace("ns", _
                    "https://schemas.microsoft.com/vsto/samples")
                employeeXMLPartID = employeeXMLPart.Id
            End If
        End If
    End Sub
    
    private void AddCustomXmlPart(string xmlData)
    {
        if (xmlData != null)
        {
            employeeXMLPart = this.CustomXMLParts.SelectByID(employeeXMLPartID);
            if (employeeXMLPart == null)
            {
                employeeXMLPart = this.CustomXMLParts.Add(xmlData);
                employeeXMLPart.NamespaceManager.AddNamespace("ns", 
                    @"https://schemas.microsoft.com/vsto/samples");
                employeeXMLPartID = employeeXMLPart.Id;
            }
        }
    }
    

Vazba na prvky XML části vlastní ovládací prvky obsahu

Každý ovládací prvek svázat prvek vlastní část XML pomocí XMLMapping vlastnost každý ovládací prvek.

Svázat ovládací prvky obsahu prvků v vlastní části XML

  • Přidejte následující metodu ThisDocument třídy.Tato metoda se váže k elementu ve vlastní části XML každý ovládací prvek a nastaví formát zobrazení data DatePickerContentControl.

    Private Sub BindControlsToCustomXmlPart()
        Dim xPathName As String = "ns:employees/ns:employee/ns:name"
        Me.PlainTextContentControl1.XMLMapping.SetMapping(xPathName, _
            prefix, employeeXMLPart)
    
        Dim xPathDate As String = "ns:employees/ns:employee/ns:hireDate"
        Me.DatePickerContentControl1.DateDisplayFormat = "MMMM d, yyyy"
        Me.DatePickerContentControl1.XMLMapping.SetMapping(xPathDate, _
            prefix, employeeXMLPart)
    
        Dim xPathTitle As String = "ns:employees/ns:employee/ns:title"
        Me.DropDownListContentControl1.XMLMapping.SetMapping(xPathTitle, _
            prefix, employeeXMLPart)
    End Sub
    
    private void BindControlsToCustomXmlPart()
    {
        string xPathName = "ns:employees/ns:employee/ns:name";
        this.plainTextContentControl1.XMLMapping.SetMapping(xPathName,
            prefix, employeeXMLPart);
    
        string xPathDate = "ns:employees/ns:employee/ns:hireDate";
        this.datePickerContentControl1.DateDisplayFormat = "MMMM d, yyyy";
        this.datePickerContentControl1.XMLMapping.SetMapping(xPathDate,
            prefix, employeeXMLPart);
    
        string xPathTitle = "ns:employees/ns:employee/ns:title";
        this.dropDownListContentControl1.XMLMapping.SetMapping(xPathTitle,
            prefix, employeeXMLPart);
    }
    

Spuštění vašeho kódu při na dokument je otevřen.

Vytvořit vlastní část XML a vlastní ovládací prvky vázat na data při otevření dokumentu.

Spuštění kódu při otevření dokumentu

  • Přidejte následující kód ThisDocument_Startup metoda ThisDocument třídy.Tento kód získá řetězec XML z employees.xml souboru, přidá nové vlastní část XML v dokumentu řetězec XML a sváže ovládací prvky obsahu prvků v části vlastní XML.

    Dim xmlData As String = GetXmlFromResource()
    If xmlData IsNot Nothing Then
        AddCustomXmlPart(xmlData)
        BindControlsToCustomXmlPart()
    End If
    
    string xmlData = GetXmlFromResource();
    
    if (xmlData != null)
    {
        AddCustomXmlPart(xmlData);
        BindControlsToCustomXmlPart();
    }
    

Testování projektu

Při otevření dokumentu ovládací prvky obsahu zobrazení dat z prvků ve vlastní části XML.Klepnutím DropDownListContentControl vyberte jednu ze tří hodnot platné pro title jsou definovány v elementu employees.xsd souboru.Při úpravě dat v jakékoli ovládací prvky obsahu, nové hodnoty jsou uloženy ve vlastní části XML v dokumentu.

K testování ovládacích prvků obsahu

  1. Stiskněte klávesu F5 ke spuštění projektu.

  2. Ověřte, že tabulky v dokumentu se podobá následující tabulky.Každý řetězec v druhém sloupci je získán z prvek vlastní část XML v dokumentu.

    Jméno zaměstnance

    Karina Leal

    Datum nástupu

    1. Dubna 1999

    Title

    Správce

  3. Klepněte na buňku vpravo jméno zaměstnance buňku a zadejte jiný název.

  4. Klepněte na buňku vpravo ZaměstnánOd buňky a výběr data vyberte jiné datum.

  5. Klepněte na buňku vpravo od buňky záhlaví a vyberte novou položku z rozevíracího seznamu.

  6. Uložte a zavřete dokument.

  7. V souboru Explorer otevřete \bin\Debug složka pod umístění projektu.

  8. Klepněte pravým tlačítkem EmployeeControls.docx a Přejmenovat.

  9. Název souboru EmployeeControls.docx.zip.

    EmployeeControls.docx dokument je uložen ve formátu Open XML.Přejmenování tohoto dokumentu s příponou ZIP, můžete zkoumat obsah dokumentu.Další informace o Open XML naleznete v článku technické Úvod (2007) formáty Office Open XML souboru.

  10. Poklepejte na soubor EmployeeControls.docx.zip.

  11. Poklepejte customXml složky.

  12. Klepněte pravým tlačítkem item2.xml a potom klepněte na tlačítko Open.

    Tento soubor obsahuje vlastní část XML, který jste přidali do dokumentu.

  13. Ověřte, zda name, hireDate, a title prvky obsahují nové hodnoty, které jste zadali do ovládacích prvků obsahu v dokumentu.

  14. Zavřít item2.xml souboru.

Další kroky

Další informace o použití ovládacích prvků obsahu těchto témat:

Viz také

Úkoly

Jak: přidání ovládacích prvků obsahu v dokumentech aplikace Word

Jak: chránit části dokumentů pomocí ovládacích prvků obsahu

Koncepty

Automatizace aplikace Word pomocí rozšířené objekty

Ovládací prvky obsahu

Přehled ovládací prvky hostitel a Host položky

Programová omezení položek hostitel a Host ovládací prvky

Přidání ovládacích prvků do dokumentů sady Office v době spuštění