共用方式為


InkAnalyzer.FindNodesOfType 方法 (Guid, ContextNode)

傳回包含指定之型別的 ContextNode 物件的 ContextNodeCollection,這些物件都是指定之 ContextNode 的子代。

命名空間:  System.Windows.Ink
組件:  IAWinFX (在 IAWinFX.dll 中)

語法

'宣告
Public Function FindNodesOfType ( _
    type As Guid, _
    node As ContextNode _
) As ContextNodeCollection
'用途
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

參數

傳回值

型別:System.Windows.Ink.ContextNodeCollection
指定之型別的 ContextNode 物件,這些物件都是指定之 ContextNode 的子代。

範例

在下列範例中,會示範如何對 InkAnalyzer (名為 theInkAnalyzer) 中的所有 LineNode 物件執行迴圈。它會對每一行中的所有 InkWordNode 物件執行迴圈,如果兩個連續 InkWordNode 物件辨識為同一個字,則會將這些物件標示為紅色。

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

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

InkAnalyzer 類別

InkAnalyzer 成員

FindNodesOfType 多載

System.Windows.Ink 命名空間

InkAnalyzer.FindInkLeafNodes

InkAnalyzer.FindLeafNodes

InkAnalyzer.FindNode

InkAnalyzer.FindNodes