Compartir a través de


InkAnalyzer.FindNodesOfType (Método) (Guid, ContextNode)

Actualización: noviembre 2007

Devuelve una colección ContextNodeCollection que contiene objetos ContextNode de un tipo especificado que también son descendientes del objeto ContextNode especificado.

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

Sintaxis

'Declaración
Public Function FindNodesOfType ( _
    type As Guid, _
    node As ContextNode _
) As ContextNodeCollection
'Uso
Dim instance As InkAnalyzer
Dim type As Guid
Dim node As ContextNode
Dim returnValue As ContextNodeCollection

returnValue = instance.FindNodesOfType(type, _
    node)
public ContextNodeCollection FindNodesOfType(
    Guid type,
    ContextNode node
)
public:
ContextNodeCollection^ FindNodesOfType(
    Guid type, 
    ContextNode^ node
)
public ContextNodeCollection FindNodesOfType(
    Guid type,
    ContextNode node
)
public function FindNodesOfType(
    type : Guid, 
    node : ContextNode
) : ContextNodeCollection

Parámetros

Valor devuelto

Tipo: System.Windows.Ink.ContextNodeCollection
Objetos ContextNode de un tipo especificado que son también descendientes del objeto ContextNode especificado.

Ejemplos

En el ejemplo siguiente, se muestra cómo recorrer en bucle todos los objetos LineNode de un objeto InkAnalyzer denominado theInkAnalyzer. En cada línea, se recorren en bucle todos los objetos InkWordNode y, si hay dos objetos InkWordNode consecutivos que se reconocen como la misma palabra, se marcan en rojo.

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

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

InkAnalyzer (Clase)

InkAnalyzer (Miembros)

FindNodesOfType (Sobrecarga)

System.Windows.Ink (Espacio de nombres)

InkAnalyzer.FindInkLeafNodes

InkAnalyzer.FindLeafNodes

InkAnalyzer.FindNode

InkAnalyzer.FindNodes