TextPattern و المضمن نظرة عامة حول الكائنات

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

Th هو الوثائق هو المقصودة لإطار عمل.NET المطورين الذين يرغبون في استخدام المدارة UI Automationالفئات المعرفة في System.Windows.Automationمساحة الاسم.للحصول على أحدث المعلومات حول UI Automation، راجع API التنفيذ التلقائي Windows: أتمتة واجه المستخدم.

توضح هذه النظرة العامة كيف Microsoft UI Automationيعرض تضمين الكائنات أو عناصر تابعة، ضمن مستند نصي أو حاوية.

في UI Automationكائن مضمّن هو أي عنصر يحتوي على حدود غير نصي؛ على سبيل المثال، نسخة، رابط، الجدول، أو اكتب مثل مستند Microsoft Excelجدول البيانات أو Microsoft Windows Mediaالملف. Th هو يختلف التعريف القياسي، بالموقع يكون عنصر هو التي تم إنشاؤها في تطبيق واحد مضمن، أو مرتبطة في أخرى. ما إذا كان يمكن تحرير الكائن في تطبيق الأصلي هو متعلقة في سياق UI Automation.

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

  • الالكائنات المضمنة واجه المستخدم أتمتة الشجرة
  • عرض الكائنات المضمنة باستخدام TextPattern و TextPatternRange
  • السيناريوهات الشائعة
  • موضوعات ذات صلة

الالكائنات المضمنة واجه المستخدم أتمتة الشجرة

Embedded objects are treated as individual elements within the control view of the UI Automation tree. أن يتعرض كتوابع للنص حاوية حيث يمكن الوصول إليها من خلال نموذج نفسه كعناصر تحكم غير ذلك في UI Automation.

 

مثال حاوية نص باستخدام جدول، نسخة، و رابط المضمن الكائنات

جدول مضمن به صورة في حاوية نص

 

مثال لعرض محتوى لجزء من حاوية نص السابق

طريقة عرض المحتوى للمثال السابق

عرض الكائنات المضمنة باستخدام TextPattern و TextPatternRange

Used in conjunction, the TextPattern control pattern class and the TextPatternRange class expose methods and properties that facilitate navigation and querying of embedded objects.

محتوى نصي (أو النص الداخلي) حاوية نص وكائن مضمّن، مثل خلية رابط أو جدول، هو كشف كدفق نص مفرد مستمر في كل من عرض عنصر التحكم وطريقة عرض المحتوى UI Automationالشجرة؛ كائن يتم تجاهل حدود. إذا "التنفيذ التلقائي لواجهة مستخدم" عميل هو استرداد النص من أجل reciting تفسير أو ‏‏يتم الآن التحليل? نحو بعض، نطاق النص يجب فيها لبعض الحالات، مثل جدول يتضمن نصية المحتوى أو الكائنات المضمنة. يمكن أن يتم إنجاز ذلك بواسطة استدعاء GetChildrenإلى الحصول على AutomationElementلكل تضمين كائن ثم استدعاء RangeFromChildإلى الحصول على نطاق نص لكل عنصر. Th هو هو القيام بشكل متكرر حتى يتم استرداد الجميع محتوى نصي.

 

مثال على تدفق نص باستخدام الكائنات المضمنة ويمتد النطاق الخاص بها

معدلات النص الممدد بواسطة الكائنات المضمنة.

عند ذلك هو اللازمة لتجاوز المحتوى الموجود نطاق نص، سلسلة من الخطوات المتعلقة في الخلفية من أجل Moveالأسلوب نجاح.

  1. نطاق نص هو normalized؛ وهي مطوياً نطاق نص إلى نطاق degenerate في Startنقطة النهاية، الأمر الذي يجعل Endنقطة نهاية superfluous. Th هو الخطوة هو اللازمة لإزالة الغموض في المواقف الموقع يمتد نطاق نص TextUnitحدود: على سبيل المثال، "{أ} RL https://www.microsoft.com هو المضمنة في نص" الموقع "{"و"}" هي النص نقاط النهاية للنطاق.

  2. نطاق الناتج هو يتحرك إلى الخلف في DocumentRangeإلى بداية المطلوب TextUnitحد.

  3. النطاق هو يتحرك إعادة توجيه مكالمة أو إلى الخلف في DocumentRangeبعدد المطلوبة TextUnitحدود.

  4. النطاق هو ثم موسّعها من الولاية نطاق degenerate بالانتقال Endطلب نقطة النهاية بمقدار TextUnitحد.

 

أمثلة على كيفية نطاق نص هو ضبط تحريك() و ExpandToEnclosingUnit()

ضبط المعدل بوسطة النقل و ExpandToEnclosingUnit

السيناريوهات الشائعة

تعرض الأقسام التالية أمثلة السيناريوهات الأكثر شيوعاً التي تتضمن الكائنات مضمنة.

وسيلة إيضاح للأمثلة المعروضة:

{ = Start

} = End

الارتباط التشعبي

مثال 1-هو نطاق نص الذي يحتوي على نص مضمن رابط

{عنوان URL العنوان https://www.microsoft.com هو المضمنة في نص}.

 

استدعاء الأسلوب

النتيجة

GetText

إرجاع السلسلة "https://www.microsoft.com URL هو المضمنة في نص".

GetEnclosingElement

إرجاع الأعمق AutomationElementالتي إحاطة النطاق نص؛ وفي هذا حالة، AutomationElementالذي يمثل موفر نص نفسه.

GetChildren

إرجاع AutomationElementيمثل عنصر تحكم رابط.

RangeFromChildالموقعAutomationElementهو كائن تم إرجاعه بواسطة السابقGetChildrenأسلوب.

إرجاع النطاق الذي يمثل "http://www.microsoft.com".

 

مثال 2-هو نطاق نص الذي يمتد نص مضمن جزئيا رابط

http://URL { www } هو مضمن في نص.

 

استدعاء الأسلوب

النتيجة

GetText

إرجاع سلسلة "www".

GetEnclosingElement

إرجاع الأعمق AutomationElementالتي إحاطة النطاق نص؛ وفي هذه الحالة، عنصر تحكم رابط.

GetChildren

بإرجاع nullحيث أن نطاق نص لا تجاوز بأكمله محدد موقع معلومات السلسلة.

 

مثال 3-هو نطاق نص الذي يمتد محتويات حاوية نص جزئيا. الحاوية نص له أي ارتباط تشعبي لنص مضمن الذي هو ليس جزء من نطاق نص.

{عنوان URL}https://www.microsoft.com هو مضمن في نص.

 

استدعاء الأسلوب

النتيجة

GetText

إرجاع السلسلة "URL الذي".

GetEnclosingElement

إرجاع الأعمق AutomationElementالتي إحاطة النطاق نص؛ وفي هذا حالة، AutomationElementالذي يمثل موفر نص نفسه.

Moveمع المعلمات من (TextUnit.الكلمة، 1).

ينتقل امتداد نطاق النص "http" حيث أن نص رابط يتكون من كلمات فردية. في ترتيب هو الحالة، رابط هو لا يعامل ككائن مفرد.

URL { http } هو مضمن في نص.

 

الصورة

مثال 1-هو نطاق نص الذي يحتوي على نسخة مضمنة

{الصورة مثال لصورة مضمنةهو مضمنة في نص}.

 

استدعاء الأسلوب

النتيجة

GetText

إرجاع السلسلة "هو المضمنة في نص". لا يتوقع أي نص زر زر Alt المقترن مع الصورة إلى ليتم تضمينه في الدفق نص.

GetEnclosingElement

إرجاع الأعمق AutomationElementالتي إحاطة النطاق نص؛ وفي هذا حالة، AutomationElementالذي يمثل موفر نص نفسه.

GetChildren

إرجاع AutomationElementالذي يمثل الصورة عنصر تحكم.

RangeFromChildالموقعAutomationElementهو كائن تم إرجاعه بواسطة السابقGetChildrenأسلوب.

إرجاع نطاق degenerate الذي يمثل " مثال لصورة مضمنة".

 

مثال 2-هو نطاق نص الذي يمتد محتويات حاوية نص جزئيا. الحاوية نص يحتوي المضمنة الصورة التي هو ليس جزء من نطاق نص.

{الصورة}مثال لصورة مضمنةهو المضمنة في نص.

 

استدعاء الأسلوب

النتيجة

GetText

إرجاع السلسلة "نسخة".

GetEnclosingElement

إرجاع الأعمق AutomationElementالتي إحاطة النطاق نص؛ وفي هذا حالة، AutomationElementالذي يمثل موفر نص نفسه.

Moveمع المعلمات من (TextUnit.الكلمة، 1).

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

جدول

جدول المستخدمة للحصول على أمثلة

خلية مع الصورة

خلية تحتوي على نص

مثال لصورة مضمنة

X

مثال 2 لصورة مضمنة

نعم

مثال 3 لصورة مضمنة

نسخة ي

Z

 

مثال 1-إحضار الحاوية النص من المحتوى خلية.

 

أسلوب به

النتيجة

GetItemمع معلمات (0,0)

إرجاع AutomationElementالذي يمثل محتويات خلية الجدول؛ وفي هذه الحالة، العنصر هو عنصر تحكم نص.

RangeFromChildالموقعAutomationElementهو كائن تم إرجاعه بواسطة السابقGetItemأسلوب.

إرجاع نطاق يمتد على نسخة مثال لصورة مضمنة.

GetEnclosingElementلكائن تم إرجاعه بواسطة السابقRangeFromChildأسلوب.

إرجاع AutomationElementيمثل خلية الجدول؛ وفي هذه الحالة، العنصر هو عنصر تحكم نص يعتمد TableItemPattern.

GetEnclosingElementلكائن تم إرجاعه بواسطة السابقGetEnclosingElementأسلوب.

إرجاع AutomationElementالذي يمثل الجدول.

GetEnclosingElementلكائن تم إرجاعه بواسطة السابقGetEnclosingElementأسلوب.

إرجاع AutomationElementالذي يمثل موفر نص نفسه.

 

مثال 2-يحصل محتوى نص خلية.

 

أسلوب به

النتيجة

GetItemمع المعلمات من (1, 1).

إرجاع AutomationElementالذي يمثل محتويات خلية الجدول؛ وفي هذه الحالة، العنصر هو عنصر تحكم نص.

RangeFromChildالموقعAutomationElementهو كائن تم إرجاعه بواسطة السابقGetItemأسلوب.

إرجاع "Y".

راجع أيضًا:

المهام

المضمن للوصول إلى الكائنات باستخدام واجه المستخدم التنفيذ التلقائي

يعرض المحتوى من الجدول باستخدام واجه المستخدم التنفيذ التلقائي

تجاوز النص باستخدام واجه المستخدم التنفيذ التلقائي

البحث TextPattern و تحديد نموذج

المرجع

TextPattern

TextPatternRange

ITextProvider

ITextRangeProvider