FieldNoteRef

FieldNoteRef class

Implementerar NOTEREF-fältet.

För att lära dig mer, besökArbeta med Fields dokumentationsartikel.

public class FieldNoteRef : Field

Konstruktörer

namnBeskrivning
FieldNoteRef()Default_Constructor

Egenskaper

namnBeskrivning
BookmarkName { get; set; }Hämtar eller ställer in namnet på bokmärket.
DisplayResult { get; }Hämtar texten som representerar det visade fältresultatet.
End { get; }Hämtar noden som representerar fältänden.
Format { get; }Får enFieldFormat objekt som ger maskinskriven åtkomst till fältets formatering.
InsertHyperlink { get; set; }Hämtar eller ställer in om en hyperlänk ska infogas till det bokmärkta stycket.
InsertReferenceMark { get; set; }Infogar referensmärket med samma teckenformatering som stilen Fotnotsreferens eller slutnotsreferens.
InsertRelativePosition { get; set; }Hämtar eller ställer in om en relativ position för det bokmärkta stycket ska infogas.
IsDirty { get; set; }Hämtar eller ställer in om det aktuella resultatet av fältet inte längre är korrekt (inaktuellt) på grund av andra ändringar som gjorts i dokumentet.
IsLocked { get; set; }Hämtar eller ställer in om fältet är låst (ska inte räkna om resultatet).
LocaleId { get; set; }Hämtar eller ställer in LCID för fältet.
Result { get; set; }Hämtar eller ställer in text som är mellan fältavgränsaren och fältslutet.
Separator { get; }Hämtar noden som representerar fältseparatorn. Kan varanull .
Start { get; }Hämtar noden som representerar början av fältet.
virtual Type { get; }Hämtar fälttypen Microsoft Word.

Metoder

namnBeskrivning
GetFieldCode()Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare). Både fältkod och fältresultat för underordnade fält ingår.
GetFieldCode(bool)Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare).
Remove()Tar bort fältet från dokumentet. Returnerar en nod direkt efter fältet. Om fältets slut är den sista child av dess överordnade nod, returnerar dess överordnade stycke. Om fältet redan är borttaget, returnerasnull .
Unlink()Utför fältavlänkningen.
Update()Utför fältuppdateringen. Kastar om fältet redan uppdateras.
Update(bool)Utför en fältuppdatering. Kastar om fältet redan uppdateras.

Anmärkningar

Infogar märket för fotnoten eller slutnoten som markeras med det angivna bokmärket.

Exempel

Visar hur man korshänvisar till fotnoter med NOTEREF-fältet.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Write("CrossReference: ");

FieldNoteRef field = (FieldNoteRef)builder.InsertField(FieldType.FieldNoteRef, false); // <--- uppdatera inte fältet
field.BookmarkName = "CrossRefBookmark";
field.InsertHyperlink = true;
field.InsertReferenceMark = true;
field.InsertRelativePosition = false;
builder.Writeln();

builder.StartBookmark("CrossRefBookmark");
builder.Write("Hello world!");
builder.InsertFootnote(FootnoteType.Footnote, "Cross referenced footnote.");
builder.EndBookmark("CrossRefBookmark");
builder.Writeln();            

doc.UpdateFields();           

// Det här fältet fungerar endast i äldre versioner av Microsoft Word.
doc.Save(ArtifactsDir + "Field.NOTEREF.doc");

Visar för att infoga NOTEREF-fält och ändra deras utseende.

public void FieldNoteRef()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Skapa ett bokmärke med en fotnot som NOTEREF-fältet refererar till.
    InsertBookmarkWithFootnote(builder, "MyBookmark1", "Contents of MyBookmark1", "Footnote from MyBookmark1");

    // Detta NOTEREF-fält visar numret på fotnoten inuti det refererade bokmärket.
    // Genom att ställa in egenskapen InsertHyperlink kan vi hoppa till bokmärket genom att Ctrl + klicka på fältet i Microsoft Word.
    Assert.AreEqual(" NOTEREF  MyBookmark2 \\h",
        InsertFieldNoteRef(builder, "MyBookmark2", true, false, false, "Hyperlink to Bookmark2, with footnote number ").GetFieldCode());

    // När du använder flaggan \p, efter fotnotsnumret, visar fältet även bokmärkets position i förhållande till fältet.
    // Bokmärke1 är ovanför detta fält och innehåller fotnot nummer 1, så resultatet blir "1 ovan" vid uppdatering.
    Assert.AreEqual(" NOTEREF  MyBookmark1 \\h \\p",
        InsertFieldNoteRef(builder, "MyBookmark1", true, true, false, "Bookmark1, with footnote number ").GetFieldCode());

    // Bokmärke2 är under detta fält och innehåller fotnot nummer 2, så fältet kommer att visa "2 nedan".
    // Flaggan \f gör att siffran 2 visas i samma format som fotnotsnummeretiketten i själva texten.
    Assert.AreEqual(" NOTEREF  MyBookmark2 \\h \\p \\f",
        InsertFieldNoteRef(builder, "MyBookmark2", true, true, true, "Bookmark2, with footnote number ").GetFieldCode());

    builder.InsertBreak(BreakType.PageBreak);
    InsertBookmarkWithFootnote(builder, "MyBookmark2", "Contents of MyBookmark2", "Footnote from MyBookmark2");

    doc.UpdatePageLayout();
    doc.UpdateFields();
    doc.Save(ArtifactsDir + "Field.NOTEREF.docx");
}

/// <summary>
/// Använder en dokumentbyggare för att infoga ett NOTEREF-fält med specificerade egenskaper.
/// </summary>
private static FieldNoteRef InsertFieldNoteRef(DocumentBuilder builder, string bookmarkName, bool insertHyperlink, bool insertRelativePosition, bool insertReferenceMark, string textBefore)
{
    builder.Write(textBefore);

    FieldNoteRef field = (FieldNoteRef)builder.InsertField(FieldType.FieldNoteRef, true);
    field.BookmarkName = bookmarkName;
    field.InsertHyperlink = insertHyperlink;
    field.InsertRelativePosition = insertRelativePosition;
    field.InsertReferenceMark = insertReferenceMark;
    builder.Writeln();

    return field;
}

/// <summary>
/// Använder en dokumentbyggare för att infoga ett namngivet bokmärke med en fotnot i slutet.
/// </summary>
private static void InsertBookmarkWithFootnote(DocumentBuilder builder, string bookmarkName, string bookmarkText, string footnoteText)
{
    builder.StartBookmark(bookmarkName);
    builder.Write(bookmarkText);
    builder.InsertFootnote(FootnoteType.Footnote, footnoteText);
    builder.EndBookmark(bookmarkName);
    builder.Writeln();
}

Se även