Freigeben über


InkAnalyzer.GetNodesFromTextRange-Methode (Int32%, Int32%, ContextNodeCollection)

Gibt eine ContextNodeCollection mit ContextNode-Objekten zurück, die zu dem angegebenen Textbereich der angegebenen Kontextknoten gehören.

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

Syntax

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

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

Parameter

Rückgabewert

Typ: System.Windows.Ink.ContextNodeCollection
Die ContextNode-Objekte, die für den angegebenen Textbereich der angegebenen Kontextknoten relevant sind.

Hinweise

Der angegebene Textbereich muss relativ zum nodesToSearch-Teil der im InkAnalyzer erkannten Zeichenfolge sein.

Diese Methode ändert die Werte des start-Parameters und des length-Parameters, indem der Textbereich bis zu den nächsten Wortgrenzen erweitert wird. Wenn die erkannte Zeichenfolge beispielsweise "I am late" lautet und Sie diese Methode mit den Parameterwerten 6 für start und 1 für length aufrufen (dies entspricht dem Buchstaben "a" in "late"), gibt diese Methode eine Auflistung zurück, die entweder einen einzigen ContextNode enthält (den InkWordNode) oder TextWordNode. Für das vorliegende Beispiel ändert diese Methode auch den Wert von start zu 5 und den Wert von length zu 4. Dies entspricht dem Wort "late".

Hinweis

Der start-Parameter ist relativ zur erkannten Zeichenfolge des nodesToSearch-Parameters.

Beispiele

In diesem Beispiel wird ein TextBox namens theResultsTextBox angenommen, für dessen Text-Eigenschaft die kombinierten erkannten Zeichenfolgen der Knoten in der ContextNodeCollection mit dem Namen nodesToSearch festgelegt wurden. Die nodesToSearch-Auflistung enthält Kontextknoten aus dem InkAnalyzer mit dem Namen theInkAnalyzer. Im Beispielcode wird die Textfeldauswahl verwendet und die Strokes, die dieser Auswahl entsprechen, werden markiert.

' Find out what's been selected in the text box
Dim selStart As Integer = theResultsTextBox.SelectionStart
Dim selLength As Integer = theResultsTextBox.SelectionLength

' Get the nodes that correspond to that range
Dim selectedSubNodes As ContextNodeCollection = _
    Me.theInkAnalyzer.GetNodesFromTextRange(selStart, selLength, nodesToSearch)

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

' First, set all strokes to black
For Each theStroke As Stroke In Me.theInkAnalyzer.RootNode.Strokes
    theStroke.DrawingAttributes.Color = Colors.Black
Next theStroke

' Next, set all selected sub nodes to red
Dim theContextNode As ContextNode
For Each theContextNode In  selectedSubNodes
    For Each theStroke As Stroke In theContextNode.Strokes
        theStroke.DrawingAttributes.Color = Colors.Red
    Next theStroke
Next theContextNode
// Find out what's been selected in the text box
int selStart = theResultsTextBox.SelectionStart;
int selLength = theResultsTextBox.SelectionLength;

// Get the nodes that correspond to that range
ContextNodeCollection selectedSubNodes =
    this.theInkAnalyzer.GetNodesFromTextRange(
        ref selStart, ref selLength, nodesToSearch);

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

// First, set all strokes to black
foreach (Stroke theStroke
    in this.theInkAnalyzer.RootNode.Strokes)
{
    theStroke.DrawingAttributes.Color = Colors.Black;
}

// Next, set all selected sub nodes to red
foreach (ContextNode theContextNode in selectedSubNodes)
{
    foreach (Stroke theStroke in theContextNode.Strokes)
    {
        theStroke.DrawingAttributes.Color = Colors.Red;
    }
}

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

InkAnalyzer-Klasse

InkAnalyzer-Member

GetNodesFromTextRange-Überladung

System.Windows.Ink-Namespace