Compartir a través de


ContextNodeCollection (Clase)

Actualización: noviembre 2007

Contiene una colección de objetos ContextNode que son resultado de un análisis de entrada manuscrita.

Espacio de nombres:  System.Windows.Ink
Ensamblado:  IAWinFX (en IAWinFX.dll)

Sintaxis

'Declaración
Public Class ContextNodeCollection _
    Implements ICollection, IEnumerable
'Uso
Dim instance As ContextNodeCollection
public class ContextNodeCollection : ICollection, 
    IEnumerable
public ref class ContextNodeCollection : ICollection, 
    IEnumerable
public class ContextNodeCollection implements ICollection, 
    IEnumerable
public class ContextNodeCollection implements ICollection, IEnumerable

Ejemplos

En el ejemplo siguiente, se muestra cómo recorrer en bucle un objeto ContextNodeCollection desde el método InkAnalyzer. FindNodesOfType(ContextNodeType, ContextNode) de un objeto InkAnalyzer denominado theInkAnalyzer. En el ejemplo, se recorre en bucle una colección de objetos LineNode y, si dos objetos InkWordNode consecutivos son la misma palabra, pone de color rojo sus trazos.

' If two identical ink words occur next to each other, mark them as red.
' Note: This doesn't actually look for pairs that go across two lines.
Dim lines As ContextNodeCollection = theInkAnalyzer.FindNodesOfType(ContextNodeType.Line)
Dim lineNode As ContextNode
For Each lineNode In  lines
    Dim previousWord As InkWordNode = Nothing

    For Each inkWord As InkWordNode In _
        theInkAnalyzer.FindNodesOfType(ContextNodeType.InkWord, lineNode)

        If Not (previousWord Is Nothing) AndAlso _
            previousWord.GetRecognizedString() = inkWord.GetRecognizedString() Then

            For Each stroke As Stroke In previousWord.Strokes
                stroke.DrawingAttributes.Color = Colors.Red
            Next stroke

            For Each stroke As Stroke In inkWord.Strokes
                stroke.DrawingAttributes.Color = Colors.Red
            Next stroke
        End If

        previousWord = inkWord
    Next inkWord
Next lineNode
// If two identical ink words occur next to each other, mark them as red.
// Note: This doesn't actually look for pairs that go across two lines.
ContextNodeCollection lines =
    theInkAnalyzer.FindNodesOfType(ContextNodeType.Line);
foreach (ContextNode lineNode in lines)
{
    InkWordNode previousWord = null;
    foreach (InkWordNode inkWord in
             theInkAnalyzer.FindNodesOfType(ContextNodeType.InkWord, lineNode))
    {
        if (previousWord != null &&
            previousWord.GetRecognizedString() == inkWord.GetRecognizedString())
        {
            foreach (Stroke stroke in previousWord.Strokes)
                stroke.DrawingAttributes.Color = Colors.Red;
            foreach (Stroke stroke in inkWord.Strokes)
                stroke.DrawingAttributes.Color = Colors.Red;
        }
        previousWord = inkWord;
    }
}

Jerarquía de herencia

System.Object
  System.Windows.Ink.ContextNodeCollection

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

ContextNodeCollection (Miembros)

System.Windows.Ink (Espacio de nombres)

ContextNode

[O:System.Windows.Ink.InkAnalyzer.FindNodes]

[O:System.Windows.Ink.InkAnalyzer.FindNodesOfType]