共用方式為


TextPatternRange.MoveEndpointByRange 方法

定義

將文字範圍的一個端點移至第二個文字範圍上指定的端點。

public:
 void MoveEndpointByRange(System::Windows::Automation::Text::TextPatternRangeEndpoint endpoint, System::Windows::Automation::Text::TextPatternRange ^ targetRange, System::Windows::Automation::Text::TextPatternRangeEndpoint targetEndpoint);
public void MoveEndpointByRange (System.Windows.Automation.Text.TextPatternRangeEndpoint endpoint, System.Windows.Automation.Text.TextPatternRange targetRange, System.Windows.Automation.Text.TextPatternRangeEndpoint targetEndpoint);
member this.MoveEndpointByRange : System.Windows.Automation.Text.TextPatternRangeEndpoint * System.Windows.Automation.Text.TextPatternRange * System.Windows.Automation.Text.TextPatternRangeEndpoint -> unit
Public Sub MoveEndpointByRange (endpoint As TextPatternRangeEndpoint, targetRange As TextPatternRange, targetEndpoint As TextPatternRangeEndpoint)

參數

endpoint
TextPatternRangeEndpoint

要移動的端點。

targetRange
TextPatternRange

來自相同文字提供者的另一個範圍。

targetEndpoint
TextPatternRangeEndpoint

另一個範圍上的端點。

範例

 private void MoveEndpointByRangeFromSelection(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();
    TextPatternRange[] currentVisibleRanges = textpatternPattern.GetVisibleRanges();

    currentSelection[0].MoveEndpointByRange(
        TextPatternRangeEndpoint.Start,
        currentVisibleRanges[0], 
        TextPatternRangeEndpoint.Start);
}
Private Sub MoveEndpointByRangeFromSelection(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()
    Dim currentVisibleRanges As TextPatternRange() = textpatternPattern.GetVisibleRanges()
    currentSelection(0).MoveEndpointByRange(TextPatternRangeEndpoint.Start, _
                                     currentVisibleRanges(0), _
                                     TextPatternRangeEndpoint.Start)
End Sub

備註

如果移動的端點會跨越相同文字範圍的其他端點,則另一個端點也會移動,因而產生變質的範圍,並確保端點 (的正確順序, Start 一律小於或等於 End) 。

適用於