FieldNoteRef

FieldNoteRef class

NOTEREF alanını uygular.

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Alanlarla Çalışmak dokümantasyon makalesi.

public class FieldNoteRef : Field

yapıcılar

İsimTanım
FieldNoteRef()Default_Constructor

Özellikleri

İsimTanım
BookmarkName { get; set; }Yer iminin adını alır veya ayarlar.
DisplayResult { get; }Görüntülenen alan sonucunu temsil eden metni alır.
End { get; }Alan sonunu temsil eden düğümü alır.
Format { get; }Bir alırFieldFormat Alanın formatlamasına yazılı erişim sağlayan nesne.
InsertHyperlink { get; set; }Yer imine eklenen paragrafa köprü eklenip eklenmeyeceğini alır veya ayarlar.
InsertReferenceMark { get; set; }Dipnot Referansı veya Sonnot Referansı stiliyle aynı karakter formatına sahip referans işaretini ekler.
InsertRelativePosition { get; set; }Yer imi eklenen paragrafın göreli konumunun eklenip eklenmeyeceğini alır veya ayarlar.
IsDirty { get; set; }Belgede yapılan diğer değişiklikler nedeniyle alanın geçerli sonucunun artık doğru (eski) olup olmadığını alır veya ayarlar.
IsLocked { get; set; }Alanın kilitli olup olmadığını alır veya ayarlar (sonucu yeniden hesaplanmamalıdır).
LocaleId { get; set; }Alanın LCID’sini alır veya ayarlar.
Result { get; set; }Alan ayırıcı ile alan sonu arasındaki metni alır veya ayarlar.
Separator { get; }Alan ayırıcıyı temsil eden düğümü alır. Olabilirhükümsüz .
Start { get; }Alanın başlangıcını temsil eden düğümü alır.
virtual Type { get; }Microsoft Word alan türünü alır.

yöntemler

İsimTanım
GetFieldCode()Alan başlangıcı ile alan ayırıcı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür. Alt alanların hem alan kodu hem de alan sonucu dahil edilir.
GetFieldCode(bool)Alan başlangıcı ile alan ayırıcı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür.
Remove()Alanı belgeden kaldırır. Alanın hemen ardından bir düğüm döndürür. Alanın sonu, üst düğümünün son child ‘si ise, üst paragrafını döndürür. Alan zaten kaldırılmışsa şunu döndürür:hükümsüz .
Unlink()Alanın bağlantısını kaldırır.
Update()Alan güncellemesini gerçekleştirir. Alan zaten güncelleniyorsa atar.
Update(bool)Bir alan güncellemesi gerçekleştirir. Alan zaten güncelleniyorsa atar.

Notlar

Belirtilen yer işaretiyle işaretlenen dipnotun veya son notun işaretini ekler.

Örnekler

NOTEREF alanıyla dipnotlara nasıl çapraz referans verileceğini gösterir.

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

builder.Write("CrossReference: ");

FieldNoteRef field = (FieldNoteRef)builder.InsertField(FieldType.FieldNoteRef, false); // <--- alanı güncelleme
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();           

// Bu alan yalnızca Microsoft Word'ün eski sürümlerinde çalışır.
doc.Save(ArtifactsDir + "Field.NOTEREF.doc");

NOTEREF alanlarının eklenmesini ve görünümlerinin değiştirilmesini gösterir.

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

    // NOTEREF alanının referans alacağı dipnotlu bir yer imi oluşturun.
    InsertBookmarkWithFootnote(builder, "MyBookmark1", "Contents of MyBookmark1", "Footnote from MyBookmark1");

    // Bu NOTEREF alanı, başvurulan yer iminin içindeki dipnotun numarasını gösterecektir.
    // InsertHyperlink özelliğini ayarlamak, Microsoft Word'deki alanı Ctrl + tıklatarak yer işaretine atlamamızı sağlar.
    Assert.AreEqual(" NOTEREF  MyBookmark2 \\h",
        InsertFieldNoteRef(builder, "MyBookmark2", true, false, false, "Hyperlink to Bookmark2, with footnote number ").GetFieldCode());

    // \p bayrağı kullanıldığında, dipnot numarasından sonra alan, yer iminin alana göre konumunu da görüntüler.
    // Bookmark1 bu alanın üstündedir ve 1 numaralı dipnot içerir, dolayısıyla güncellemede sonuç "yukarıda 1" olacaktır.
    Assert.AreEqual(" NOTEREF  MyBookmark1 \\h \\p",
        InsertFieldNoteRef(builder, "MyBookmark1", true, true, false, "Bookmark1, with footnote number ").GetFieldCode());

    // Bookmark2 bu alanın altındadır ve 2 numaralı dipnot içerir, dolayısıyla alan "aşağıda 2" olarak görünecektir.
    // \f bayrağı, 2 sayısının asıl metindeki dipnot numarası etiketiyle aynı formatta görünmesini sağlar.
    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>
/// Belirtilen özelliklere sahip bir NOTEREF alanı eklemek için belge oluşturucuyu kullanır.
/// </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>
/// Sonunda dipnot bulunan adlandırılmış bir yer imi eklemek için bir belge oluşturucu kullanır.
/// </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();
}

Ayrıca bakınız