Freigeben über


InkAnalyzer.FindNodesOfType-Methode (Guid, ContextNode)

Gibt eine ContextNodeCollection mit den ContextNode-Objekten eines angegebenen Typs zurück, die zugleich Nachfolger des angegebenen ContextNode sind.

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

Syntax

'Declaration
Public Function FindNodesOfType ( _
    type As Guid, _
    node As ContextNode _
) As ContextNodeCollection
'Usage
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

Parameter

Rückgabewert

Typ: System.Windows.Ink.ContextNodeCollection
ContextNode -Objekte eines angegebenen Typs, die zugleich Nachfolger des angegebenen ContextNode sind.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie alle LineNode-Objekte in einem InkAnalyzer namens theInkAnalyzer durchlaufen werden. In jeder Zeile werden alle InkWordNode-Objekte durchlaufen, und wenn zwei aufeinanderfolgende InkWordNode-Knoten als dasselbe Wort erkannt werden, werden sie rot markiert.

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

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

FindNodesOfType-Überladung

System.Windows.Ink-Namespace

InkAnalyzer.FindInkLeafNodes

InkAnalyzer.FindLeafNodes

InkAnalyzer.FindNode

InkAnalyzer.FindNodes