InlineStory

InlineStory class

الفئة الأساسية للعقد ذات المستوى المضمن التي يمكن أن تحتوي على فقرات وجداول.

لمعرفة المزيد، قم بزيارةالمستويات المنطقية للعقد في المستند مقالة توثيقية.

public abstract class InlineStory : CompositeNode

الخصائص

اسموصف
Count { get; }يحصل على عدد الأبناء المباشرين لهذه العقدة.
CustomNodeId { get; set; }يحدد معرف العقدة المخصص.
virtual Document { get; }يحصل على المستند الذي تنتمي إليه هذه العقدة.
FirstChild { get; }يحصل على أول طفل للعقدة.
FirstParagraph { get; }يحصل على الفقرة الأولى في القصة.
Font { get; }يوفر الوصول إلى تنسيق الخط لحرف المرساة لهذا الكائن.
HasChildNodes { get; }إرجاعحقيقي إذا كانت هذه العقدة تحتوي على أي عقد فرعية.
override IsComposite { get; }إرجاعحقيقي حيث يمكن لهذه العقدة أن تحتوي على عقد فرعية.
IsDeleteRevision { get; }يعود صحيحًا إذا تم حذف هذا الكائن في Microsoft Word أثناء تمكين تتبع التغييرات.
IsInsertRevision { get; }يعود صحيحًا إذا تم إدراج هذا الكائن في Microsoft Word أثناء تمكين تتبع التغييرات.
IsMoveFromRevision { get; }إرجاعحقيقي إذا تم نقل هذا الكائن (حذفه) في Microsoft Word أثناء تمكين تتبع التغييرات.
IsMoveToRevision { get; }إرجاعحقيقي إذا تم نقل هذا الكائن (إدراجه) في Microsoft Word أثناء تمكين تتبع التغييرات.
LastChild { get; }يحصل على آخر طفل للعقدة.
LastParagraph { get; }يحصل على الفقرة الأخيرة في القصة.
NextSibling { get; }يحصل على العقدة التي تلي هذه العقدة مباشرة.
abstract NodeType { get; }يحصل على نوع هذه العقدة.
Paragraphs { get; }يحصل على مجموعة من الفقرات التي تعتبر أبناءً مباشرين للقصة.
ParentNode { get; }يحصل على الوالد المباشر لهذه العقدة.
ParentParagraph { get; }يسترد الأصلParagraph من هذه العقدة.
PreviousSibling { get; }يحصل على العقدة التي تسبق هذه العقدة مباشرةً.
Range { get; }يعيدRangeالكائن الذي يمثل الجزء من المستند الموجود في هذه العقدة.
abstract StoryType { get; }يعيد نوع القصة.
Tables { get; }يحصل على مجموعة من الجداول التي تعتبر أبناءًا مباشرين للقصة.

طُرق

اسموصف
abstract Accept(DocumentVisitor)يقبل زائرًا.
abstract AcceptEnd(DocumentVisitor)عند تنفيذه في فئة مشتقة، يتم استدعاء طريقة VisitXXXEnd للزائر المستند المحدد.
abstract AcceptStart(DocumentVisitor)عند تنفيذه في فئة مشتقة، يتم استدعاء طريقة VisitXXXStart للزائر المستند المحدد.
AppendChild<T>(T)يضيف العقدة المحددة إلى نهاية قائمة العقد الفرعية لهذه العقدة.
Clone(bool)ينشئ نسخة مكررة من العقدة.
CreateNavigator()ينشئ متصفحًا يمكن استخدامه للتنقل بين العقد وقراءتها.
EnsureMinimum()إذا لم يكن الطفل الأخير فقرة، يتم إنشاء فقرة فارغة وإضافتها.
GetAncestor(NodeType)يحصل على السلف الأول للعنصر المحددNodeType .
GetAncestor(Type)يحصل على السلف الأول لنوع الكائن المحدد.
GetChild(NodeType, int, bool)يعيد عقدة فرعية رقم N تطابق النوع المحدد.
GetChildNodes(NodeType, bool)يعيد مجموعة حية من العقد الفرعية التي تطابق النوع المحدد.
GetEnumerator()يوفر الدعم لكل تكرار للأسلوب على العقد الفرعية لهذه العقدة.
override GetText()يحصل على نص هذه العقدة وجميع أبنائها.
IndexOf(Node)يعيد مؤشر العقدة الفرعية المحددة في مجموعة العقد الفرعية.
InsertAfter<T>(T, Node)يقوم بإدراج العقدة المحددة فورًا بعد عقدة المرجع المحددة.
InsertBefore<T>(T, Node)يقوم بإدراج العقدة المحددة مباشرة قبل عقدة المرجع المحددة.
NextPreOrder(Node)يحصل على العقدة التالية وفقًا لخوارزمية عبور شجرة الترتيب المسبق.
PrependChild<T>(T)يضيف العقدة المحددة إلى بداية قائمة العقد الفرعية لهذه العقدة.
PreviousPreOrder(Node)يحصل على العقدة السابقة وفقًا لخوارزمية عبور شجرة الترتيب المسبق.
Remove()يزيل نفسه من الأصل.
RemoveAllChildren()يزيل جميع العقد الفرعية للعقدة الحالية.
RemoveChild<T>(T)يزيل العقدة الفرعية المحددة.
RemoveSmartTags()يزيل الكلSmartTag العقد المنحدرة من العقدة الحالية.
SelectNodes(string)يحدد قائمة العقد المطابقة لتعبير XPath.
SelectSingleNode(string)يحدد الأولNode الذي يتطابق مع تعبير XPath.
ToString(SaveFormat)يصدر محتوى العقدة إلى سلسلة بالتنسيق المحدد.
ToString(SaveOptions)يقوم بتصدير محتوى العقدة إلى سلسلة باستخدام خيارات الحفظ المحددة.

ملاحظات

InlineStory هو حاوية لعقد مستوى الكتلةParagraph وTable.

الفئات التي تشتق منInlineStory هي عقد على مستوى السطر يمكنها أن تحتوي على نص خاص بها (فقرات وجداول). على سبيل المثال،Comment تحتوي العقدة على نص تعليق وFootnote يحتوي على نص الحاشية السفلية.

أمثلة

يوضح كيفية إضافة تعليق إلى فقرة.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("Hello world!");

Comment comment = new Comment(doc, "John Doe", "JD", DateTime.Today);
builder.CurrentParagraph.AppendChild(comment);
builder.MoveTo(comment.AppendChild(new Paragraph(doc)));
builder.Write("Comment text.");

Assert.AreEqual(DateTime.Today, comment.DateTime);

 // في Microsoft Word، يمكننا النقر بزر الماوس الأيمن فوق هذا التعليق في نص المستند لتحريره أو الرد عليه.
doc.Save(ArtifactsDir + "InlineStory.AddComment.docx");

يوضح كيفية إدراج الحواشي السفلية وتخصيصها.

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

// أضف نصًا، وأشر إليه بحاشية سفلية. ستُضيف هذه الحاشية إشارة علوية صغيرة.
// ضع علامة بعد النص الذي تشير إليه وقم بإنشاء إدخال أسفل نص الهيئة الرئيسي في أسفل الصفحة.
// سيحتوي هذا الإدخال على علامة مرجع الحاشية السفلية ونص المرجع،
// والتي سنمررها إلى طريقة "InsertFootnote" الخاصة بمنشئ المستندات.
builder.Write("Main body text.");
Footnote footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

// إذا تم تعيين هذه الخاصية على "true"، فسيتم استخدام علامة مرجع الحاشية السفلية لدينا
//سيكون فهرسها بين جميع حواشي القسم.
// هذه هي الحاشية الأولى، لذا فإن علامة المرجع ستكون "1".
Assert.True(footnote.IsAuto);

 // يمكننا نقل منشئ المستند داخل الحاشية السفلية لتحرير نص المرجع الخاص به.
builder.MoveTo(footnote.FirstParagraph);
builder.Write(" More text added by a DocumentBuilder.");
builder.MoveToDocumentEnd();

Assert.AreEqual("\u0002 Footnote text. More text added by a DocumentBuilder.", footnote.GetText().Trim());

builder.Write(" More main body text.");
footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

// يمكننا تعيين علامة مرجعية مخصصة يستخدمها الحاشية السفلية بدلاً من رقم الفهرس الخاص بها.
footnote.ReferenceMark = "RefMark";

Assert.False(footnote.IsAuto);

// ستظل الإشارة المرجعية التي تم ضبط علم "IsAuto" عليها على "true" تعرض فهرسها الحقيقي
// حتى لو كانت الإشارات المرجعية السابقة تعرض علامات مرجعية مخصصة، فإن علامة مرجع هذه الإشارة المرجعية ستكون "3".
builder.Write(" More main body text.");
footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

Assert.True(footnote.IsAuto);

doc.Save(ArtifactsDir + "InlineStory.AddFootnote.docx");

أنظر أيضا