Condividi tramite


Metodo LineNode.GetNodesFromTextRange (Int32%, Int32%)

Aggiornamento: novembre 2007

Restituisce un insieme di oggetti ContextNode discendenti rilevanti per l'intervallo di testo specificato nella stringa riconosciuta.

Spazio dei nomi:  System.Windows.Ink
Assembly:  IAWinFX (in IAWinFX.dll)

Sintassi

'Dichiarazione
Public Function GetNodesFromTextRange ( _
    ByRef start As Integer, _
    ByRef length As Integer _
) As ContextNodeCollection
'Utilizzo
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

Parametri

  • start
    Tipo: System.Int32%
    Inizio dell'intervallo di testo nella stringa riconosciuta.
  • length
    Tipo: System.Int32%
    Lunghezza dell'intervallo di testo nella stringa riconosciuta.

Valore restituito

Tipo: System.Windows.Ink.ContextNodeCollection
Insieme di oggetti ContextNode discendenti rilevanti per l'intervallo di testo specificato nella stringa riconosciuta.

Note

L'intervallo di testo specificato deve essere relativo alla stringa riconosciuta dell'oggetto LineNode corrente e non alla stringa riconosciuta dell'intero oggetto RootNode.

I parametri start e length sono riferimenti perché i rispettivi valori possono essere modificati. Se ad esempio il valore restituito di GetRecognizedString è "I am late" e si passano i valori di parametro start = 6 e length = 1, corrispondenti alla lettera "a", è probabile che ContextNodeCollection disponga di un solo oggetto ContextNode, ovvero l'oggetto InkWordNode che corrisponde alla parola "late". In questo caso, il valore di start viene modificato in 5 e il valore di length viene modificato in 4, per corrispondere all'intera parola "late".

Esempi

Nell'esempio seguente viene utilizzato un oggetto TextBox, selectedResultsTextBox, la cui proprietà Text è stata precedentemente impostata sul valore restituito da GetRecognizedString per un oggetto LineNode, line. L'utente ha selezionato un testo nell'oggetto [System.Windows.Controls.TextBox]. Nel codice di esempio viene utilizzata la selezione e viene contrassegnato l'oggetto Strokes che corrisponde a tale selezione.

' 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;
        }
    }
}

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

LineNode Classe

Membri LineNode

Overload GetNodesFromTextRange

Spazio dei nomi System.Windows.Ink