InkAnalyzer.FindNodesOfType-Methode (Guid, ContextNode)
Gibt die ContextNode-Objekte des angegebenen Typs zurück, die Nachfolger des angegebenen ContextNode sind.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.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
- type
Typ: System.Guid
Der Typ der zu suchenden ContextNode-Objekte
- node
Typ: Microsoft.Ink.ContextNode
Der ContextNode, dessen Nachfolger durchsucht werden.
Rückgabewert
Typ: Microsoft.Ink.ContextNodeCollection
Die ContextNode-Objekte des angegebenen Typs, die Nachfolger des angegebenen ContextNode sind.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie alle LineNode-Objekte in einem InkAnalyzer, theInkAnalyzer, durchlaufen werden. In jeder Zeile werden alle InkWordNode-Objekte durchlaufen, und wenn zwei Freihandwortknoten 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(Microsoft.Ink.ContextNodeType.Line)
Dim lineNode As ContextNode
Dim stroke As Stroke
For Each lineNode In lines
Dim previousWord As InkWordNode = Nothing
Dim inkWord As InkWordNode
For Each inkWord In _
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.InkWord, lineNode)
If Not (previousWord Is Nothing) AndAlso _
previousWord.GetRecognizedString() = inkWord.GetRecognizedString() Then
For Each stroke In previousWord.Strokes
stroke.DrawingAttributes = New DrawingAttributes(Color.Red)
Next stroke
For Each stroke In inkWord.Strokes
stroke.DrawingAttributes = New DrawingAttributes(Color.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(Microsoft.Ink.ContextNodeType.Line);
foreach (ContextNode lineNode in lines)
{
InkWordNode previousWord = null;
foreach (InkWordNode inkWord in
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.InkWord, lineNode))
{
if (previousWord != null &&
previousWord.GetRecognizedString() == inkWord.GetRecognizedString())
{
foreach (Stroke stroke in previousWord.Strokes)
stroke.DrawingAttributes = new DrawingAttributes(Color.Red);
foreach (Stroke stroke in inkWord.Strokes)
stroke.DrawingAttributes = new DrawingAttributes(Color.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