Freigeben über


LineNode.GetNodesFromTextRange-Methode (Int32%, Int32%)

Gibt eine Auflistung von ContextNode-Nachfolgerobjekten zurück, die sich auf den angegebenen Textbereich in der erkannten Zeichenfolge beziehen.

Namespace:  System.Windows.Ink
Assembly:  IAWinFX (in IAWinFX.dll)

Syntax

'Declaration
Public Function GetNodesFromTextRange ( _
    ByRef start As Integer, _
    ByRef length As Integer _
) As ContextNodeCollection
'Usage
Dim instance As LineNode
Dim start As Integer
Dim length As Integer
Dim returnValue As ContextNodeCollection

returnValue = instance.GetNodesFromTextRange(start, _
    length)
public ContextNodeCollection GetNodesFromTextRange(
    ref int start,
    ref int length
)
public:
ContextNodeCollection^ GetNodesFromTextRange(
    int% start, 
    int% length
)
public ContextNodeCollection GetNodesFromTextRange(
    /** @ref */int start,
    /** @ref */int length
)
public function GetNodesFromTextRange(
    start : int, 
    length : int
) : ContextNodeCollection

Parameter

  • start
    Typ: System.Int32%
    Der Anfang des Textbereichs in der erkannten Zeichenfolge.
  • length
    Typ: System.Int32%
    Die Länge des Textbereichs in der erkannten Zeichenfolge.

Rückgabewert

Typ: System.Windows.Ink.ContextNodeCollection
Die Auflistung von ContextNode-Nachfolgerobjekten, die sich auf den angegebenen Textbereich in der erkannten Zeichenfolge beziehen.

Hinweise

Der Textbereich sollte relativ zur erkannten Zeichenfolge des aktuellen LineNode und nicht relativ zur erkannten Zeichenfolge des gesamten RootNode angegeben werden.

Der start-Parameter und der length-Parameter sind Verweise, da ihre Werte geändert werden können. Wenn beispielsweise der Rückgabewert von GetRecognizedString "I am late" ist und Sie die Werte start = 6 und length = 1 übergeben, was dem Buchstaben "a" entspricht, enthält die ContextNodeCollection wahrscheinlich nur einen ContextNode, nämlich den InkWordNode, der dem Wort "late" entspricht. In diesem Fall werden der Wert von start in 5 und der Wert von length in 4 geändert, was dem gesamten Word "late" entspricht.

Beispiele

Im folgenden Beispiel wird eine TextBox, selectedResultsTextBox, erfasst, deren Text-Eigenschaft, die zuvor festgelegt wurde, anhand des Werts, der von GetRecognizedString für eine LineNode mit dem Namen line zurückgegeben wurde. Der Benutzer hat Text in der [System.Windows.Controls.TextBox] ausgewählt. Im Beispielcode wird die Auswahl erfasst, und die Strokes werden markiert, die dieser Auswahl entsprechen.

' Find out what's been selected in the text box
Dim start As Integer = selectedResultsTextBox.SelectionStart
Dim length As Integer = selectedResultsTextBox.SelectionLength

' Return if no text is selected.
If length = 0 Then
    Return
End If 

' Get the nodes that correspond to that range
Dim selectedNodes As ContextNodeCollection = _
    line.GetNodesFromTextRange(start, length)

' Use the new start and length value to update the
' selection in the TextBox
selectedResultsTextBox.SelectionStart = start
selectedResultsTextBox.SelectionLength = length

' Color the strokes red if part of the selected words.
' Otherwise, color them black.
For Each node As ContextNode In line.SubNodes
    For Each stroke As Stroke In node.Strokes
        If selectedNodes.Contains(node) Then
            stroke.DrawingAttributes.Color = Colors.Red
        Else
            stroke.DrawingAttributes.Color = Colors.Black
        End If
    Next stroke
Next node
// Find out what's been selected in the text box
int start = selectedResultsTextBox.SelectionStart;
int length = selectedResultsTextBox.SelectionLength;

// Return if no text is selected.
if (length == 0)
    return;

// Get the nodes that correspond to that range
ContextNodeCollection selectedNodes =
    line.GetNodesFromTextRange(ref start, ref length);

// Use the new start and length value to update the
// selection in the TextBox
selectedResultsTextBox.SelectionStart = start;
selectedResultsTextBox.SelectionLength = length;

// Color the strokes red if part of the selected words.
// Otherwise, color them black.
foreach (ContextNode node in line.SubNodes)
{
    foreach (Stroke stroke in node.Strokes)
    {
        if (selectedNodes.Contains(node))
        {
            stroke.DrawingAttributes.Color = Colors.Red;
        }
        else
        {
            stroke.DrawingAttributes.Color = Colors.Black;
        }
    }
}

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

LineNode-Klasse

LineNode-Member

GetNodesFromTextRange-Überladung

System.Windows.Ink-Namespace