مشاركة عبر


نظرة عامة على طراز محتوى عنصر النص.

توضح هذه النظرة العامة لطراز المحتوى ،المحتوى المدعم TextElement. الفئة Paragraphهى نوع من TextElement. طراز محتوى يصف ما الكائنات / العناصر التى يمكن ان تضم مع الآخرين. هذه نظرة عامة تلخص طراز المحتوى للكائنات المشتقة من TextElement. لمزيد من المعلومات، راجع نظرة عامة على مستند التدفق.

يشتمل هذا الموضوع على الأقسام التالية.

  • رسم بياني لطراز المحتوى.
  • العمل على عنصر النص برمجيا.
  • الانواع المشاركة طراز هذا المحتوى
  • الأنواع التي يمكن أن تتضمن كائنات عناصر النص.
  • موضوعات ذات صلة

رسم بياني لطراز المحتوى.

الرسم بياني التالى يلخص طراز المحتوى للفئات المشتقة من TextElement وكذلك كيفية احتواء غير الفئات TextElement في هذا الطراز.

الرسم التخطيطي: مخطط احتواء محتوى مرن

كما يمكن مشاهدة من الرسم البيانى السابق ،إن الأطفال المسموح بها في عنصر ليس بالضرورة ان تحدد بواسطة ما إذا كان يتم اشتقاق الفئة من Block أو Inline . على سبيل المثال، Span ( Inline-فئة مشتقة) يمكن أن يكون لديك عناصر Inline تابعة ، ولكن Figure (أيضاً Inline-افئة مشتقة) يمكن أن يكون لديك Block عناصر تابعة. لذلك، المخطط هو مفيد لسرعة تحديد أي عنصر يمكن تضمينه في آخر. كمثال ، لنقوم باستخدام المخطط لتحديد كيفية إنشاء محتوى التدفق ل RichTextBox.

  1. [1.T:System.Windows.Controls.RichTextBox][T:System.Windows.Documents.FlowDocumentيجبأنيحتويعلى][T:System.Windows.Documents.Blockالذييجبأنتحتويبدورهاعلىكائن-]المشتق. التالي هو القطعة المطابقة للرسم البيانى السابق.

    الرسم التخطيطي: قواعد احتواء RichTextBox

    وبالتالي الآن، هذا ما قد تبدو العلامات.

    <RichTextBox>
      <FlowDocument>
        <!-- One or more Block-derived object… -->
      </FlowDocument>
    </RichTextBox>
    
  2. وفقا الى المخطط،[2.T:System.Windows.Documents.Blockهناكعدةعناصر][T:System.Windows.Documents.Paragraphلاختياربمافيذلك][T:System.Windows.Documents.Sectionو][T:System.Windows.Documents.Tableو][T:System.Windows.Documents.Listو][T:System.Windows.Documents.BlockUIContainer،و] (انظر كتلة-الفئات المشتقة أعلاه). لنقول اننا نريد Table. طبقًا للمخطط الموجود أعلاه, Table يحتوي على TableRowGroup يحتوي على عناصر TableRow التي تحتوي على عناصر TableCell التي تحتوي على كائنات -Blockالمشتقة. التالي هو القطعة المطابقة Table المأخوذ من الرسم البيانى السابق.

    الرسم التخطيطي: المخطط الأصلي/التابع للجدول

    يكون التالي هو العلامة المطابقة.

    <RichTextBox>
      <FlowDocument>
        <Table>
          <TableRowGroup>
            <TableRow>
              <TableCell>
                <!-- One or more Block-derived object… -->
              </TableCell>
            </TableRow>
          </TableRowGroup>
        </Table>
      </FlowDocument>
    </RichTextBox>
    
  3. مرة أخرى,واحد أو أكثر من عنصر[3.T:System.Windows.Documents.Blockر][T:System.Windows.Documents.TableCellمطلوبأسفل]. لجعله بسيط ، لنقم بوضع بعض النص داخل الخلية. يمكننا القيام بذلك باستخدام Paragraph مع عنصر Run. هذه المقاطع المطابقة من المخطط و يظهر انه Paragraph يمكن أن تأخذ Inline عنصر وأن Run ( عنصر Inline ) فقط يأخذ النص العادي.

    الرسم التخطيطي: المخطط الأصلي/التابع للفقرة

     

    الرسم التخطيطي: المخطط الأصلي/التابع للتشغيل

التالى هو مثال بأكمله في العلامات.

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
  <RichTextBox>
    <FlowDocument>

      <!-- Normally a table would have multiple rows and multiple
           cells but this code is for demonstration purposes.-->
      <Table>
        <TableRowGroup>
          <TableRow>
            <TableCell>
              <Paragraph>

                <!-- The schema does not actually require
                     explicit use of the Run tag in markup. It 
                     is only included here for clarity. -->
                <Run>Paragraph in a Table Cell.</Run>
              </Paragraph>
            </TableCell>
          </TableRow>
        </TableRowGroup>
      </Table>

    </FlowDocument>
  </RichTextBox>
</Page>

العمل على عنصر النص برمجيا.

محتويات TextElement تم تعيينه بواسطة مجموعات وذلك برمجياً التعامل مع محتويات الكائنات TextElement للتنفيذ بواسطة العمل مع هذه المجموعات. هناك ثلاث مجموعات مختلفة المستخدمة من قبل TextElement-الفئات المشتقة:

يمكنك التعامل (إضافة العناصر أو إزالتها) من هذه المجموعات باستخدام الخصائص المعنية فى سطور و عناصر ListItems. تبين الأمثلة التالية كيفية التعامل مع محتويات نطاق باستخدام خاصية المضمنة .

ملاحظةملاحظة

يستخدم الجدول عدة مجموعات للتعامل مع محتوياته ولكن لن تتم تغطيتها هنا.لمزيد من المعلومات، راجع نظرة عامة حول الجدول.

يقوم المثال التالي بإنشاء كائن Span جديد ثم يستخدم الأسلوب Add لإضافة تشغيل نصين كمحتوى تابع لـ Span.

            Dim spanx As New Span()
            spanx.Inlines.Add(New Run("A bit of text content..."))
            spanx.Inlines.Add(New Run("A bit more text content..."))
Span spanx = new Span();
spanx.Inlines.Add(new Run("A bit of text content..."));
spanx.Inlines.Add(new Run("A bit more text content..."));

يقوم المثال التالي بإنشاء Run عنصر جديد و إدراجه في بداية Span.

            Dim runx As New Run("Text to insert...")
            spanx.Inlines.InsertBefore(spanx.Inlines.FirstInline, runx)
Run runx = new Run("Text to insert...");
spanx.Inlines.InsertBefore(spanx.Inlines.FirstInline, runx);

يقوم المثال التالي بحذف آخر عنصر Inline في الSpan.

            spanx.Inlines.Remove(spanx.Inlines.LastInline)
spanx.Inlines.Remove(spanx.Inlines.LastInline);

يقوم المثال التالي بمسح كافة محتويات ( Inline عناصر) من Span.

            spanx.Inlines.Clear()
spanx.Inlines.Clear();

الانواع المشاركة طراز هذا المحتوى

ترث الأنواع التالية من الفئة TextElement و قد يتم استخدامها لعرض المحتوى الموضح في هذه النظرة العامة.

Bold, Figure, Floater, Hyperlink, InlineUIContainer, Italic, LineBreak, List, ListItem, Paragraph, Run, Section, Span, Table, Underline.

تتضمن هذه القائمة فقط أنواع غير مجردة موزعة مع Windows SDK. يمكنك استخدام أنواع الأخرى التي ترث من TextElement.

الأنواع التي يمكن أن تتضمن كائنات عناصر النص.

انظر طراز محتوى WPF

راجع أيضًا:

المهام

كيفية القيام بما يلي: معالجة FlowDocument من خلال خاصية الكتل

كيفية القيام بما يلي: معالجة عناصر تدفق المحتوى خلال خاصية الكتل

كيفية القيام بما يلي: معالجة FlowDocument من خلال خاصية الكتل

كيفية القيام بما يلي: التعامل مع أعمدة جدول من خلال خاصية الأعمدة

كيفية القيام بما يلي: التعامل مع مجموعات صف الجدول من خلال خاصية RowGroups