TextPatternRange.ExpandToEnclosingUnit(TextUnit) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memperluas rentang teks ke yang ditentukan TextUnit.
public:
void ExpandToEnclosingUnit(System::Windows::Automation::Text::TextUnit unit);
public void ExpandToEnclosingUnit (System.Windows.Automation.Text.TextUnit unit);
member this.ExpandToEnclosingUnit : System.Windows.Automation.Text.TextUnit -> unit
Public Sub ExpandToEnclosingUnit (unit As TextUnit)
Parameter
- unit
- TextUnit
Unit tekstual.
Contoh
private void ExpandSelection(AutomationElement target)
{
// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);
// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);
TextPattern textpatternPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
if (textpatternPattern == null)
{
Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
return;
}
TextPatternRange[] currentSelection = textpatternPattern.GetSelection();
// Expand selection to include entire document
currentSelection[0].ExpandToEnclosingUnit(TextUnit.Document);
}
Private Sub ExpandSelection(ByVal target As AutomationElement)
' Specify the control type we're looking for, in this case 'Document'
Dim cond As PropertyCondition = New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document)
' target --> The root AutomationElement.
Dim textProvider As AutomationElement = target.FindFirst(TreeScope.Descendants, cond)
Dim textpatternPattern As TextPattern = CType(textProvider.GetCurrentPattern(TextPattern.Pattern), TextPattern)
If (textpatternPattern Is Nothing) Then
Console.WriteLine("Root element does not contain a descendant that supports TextPattern.")
Return
End If
Dim currentSelection As TextPatternRange() = textpatternPattern.GetSelection()
currentSelection(0).ExpandToEnclosingUnit(TextUnit.Document)
End Sub
Keterangan
Jika rentang sudah merupakan jumlah yang tepat dari unit yang ditentukan, maka rentang tersebut tetap tidak berubah.
Agar ExpandToEnclosingUnit metode berhasil dijalankan, urutan tindakan dilakukan di belakang layar.
Rentang teks dinormalisasi; artinya, rentang teks diciutkan ke rentang degenerasi di Start titik akhir, membuat End titik akhir berlebihan. Langkah ini diperlukan untuk menghapus ambiguitas dalam situasi di mana rentang teks mencakup
unit
batas; misalnya, "{U}RL https://www.microsoft.com/ disematkan dalam teks" di mana "{" dan "}" adalah titik akhir rentang teks.Rentang yang dihasilkan dipindahkan ke belakang di DocumentRange ke awal batas
unit
yang diminta.Rentang dipindahkan ke depan atau ke belakang di DocumentRange dengan jumlah batas
unit
yang diminta.Rentang kemudian diperluas dari status rentang yang merosot dengan memindahkan titik akhir End dengan satu batas
unit
yang diminta.
Contoh bagaimana rentang teks disesuaikan untuk Move() dan ExpandToEnclosingUnit()
Catatan
Langkah-langkah ini diperlukan karena umum bagi pembaca layar untuk membaca kata lengkap, kalimat, atau seluruh paragraf pada titik penyisipan atau posisi kursor virtual apa pun.
ExpandToEnclosingUnit menghormati teks tersembunyi dan terlihat. Klien Automation UI dapat memeriksa IsHiddenAttribute visibilitas teks.
ExpandToEnclosingUnit menunda ke terbesar TextUnit berikutnya yang didukung jika yang diberikan TextUnit tidak didukung oleh kontrol.
Pesanan, dari unit terkecil hingga terbesar, tercantum di bawah ini.