TextPattern.GetSelection Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Извлекает коллекцию раздельных текстовых диапазонов, связанных с текущим выделением или выделениями текста.
public:
cli::array <System::Windows::Automation::Text::TextPatternRange ^> ^ GetSelection();
public System.Windows.Automation.Text.TextPatternRange[] GetSelection ();
member this.GetSelection : unit -> System.Windows.Automation.Text.TextPatternRange[]
Public Function GetSelection () As TextPatternRange()
Возвращаемое значение
Коллекция раздельных текстовых диапазонов.
Исключения
Текстовый контейнер не поддерживает выделение текста.
Примеры
private TextPatternRange CurrentSelection(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 null;
}
TextPatternRange[] currentSelection = textpatternPattern.GetSelection();
return currentSelection[0];
}
Private Function CurrentSelection(ByVal target As AutomationElement) As TextPatternRange
' 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 Nothing
End If
Dim currentTextSelection As TextPatternRange() = textpatternPattern.GetSelection()
Return currentTextSelection(0)
End Function
Комментарии
Если текст не выбран, GetSelection возвращает дегенерированный текстовый диапазон (пустой диапазон) в позиции системного курсора (точка вставки текста).
Если системный курсор (точка вставки текста) отсутствует, GetSelection может вернуться null
.
Примечание
SupportedTextSelection Используйте свойство, чтобы проверить, поддерживается ли выделение текста или положение точки вставки текста элементом управления.