共用方式為


ContextNode.Type 屬性

取得這個 ContextNode 物件的內容節點型別。

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

語法

'宣告
Public ReadOnly Property Type As Guid
'用途
Dim instance As ContextNode
Dim value As Guid

value = instance.Type
public Guid Type { get; }
public:
property Guid Type {
    Guid get ();
}
/** @property */
public Guid get_Type()
public function get Type () : Guid

屬性值

型別:System.Guid
這個 ContextNode 物件的內容節點型別。

範例

下列範例說明如何使用 ContextNode 物件 (名為 selectedNode) 的 Type 屬性。TextBox (selectedResultsTextBox) 的文字是根據節點的型別以不同方式填入。大部分情況下會使用已辨識的字串,但是針對 InkWord 會使用該行的已辨識字串,而且已在 TextBox 中選取文字。

If selectedNode.Type = ContextNodeType.WritingRegion Then
    Dim writingRegion As WritingRegionNode = CType(selectedNode, WritingRegionNode)
    selectedResultsTextBox.Text = writingRegion.GetRecognizedString()
ElseIf selectedNode.Type = ContextNodeType.Paragraph Then
    Dim paragraph As ParagraphNode = CType(selectedNode, ParagraphNode)
    selectedResultsTextBox.Text = paragraph.GetRecognizedString()
ElseIf selectedNode.Type = ContextNodeType.Line Then
    Dim line As LineNode = CType(selectedNode, LineNode)
    selectedResultsTextBox.Text = line.GetRecognizedString()
ElseIf selectedNode.Type = ContextNodeType.InkWord Then
    Dim inkWord As InkWordNode = CType(selectedNode, InkWordNode)
    Dim parentNode As ContextNode = inkWord.ParentNode
    If TypeOf parentNode Is LineNode Then
        Dim parentLine As LineNode = CType(parentNode, LineNode)
        ' Put parent line's recognized string into the text box
        selectedResultsTextBox.Text = parentLine.GetRecognizedString()

        ' Select the text that corresponds to the ink word
        Dim subNodes As New ContextNodeCollection(theInkAnalyzer)
        subNodes.Add(inkWord)
        Dim start As Integer
        Dim length As Integer
        parentLine.GetTextRangeFromNodes(subNodes, start, length)
        If start >= 0 AndAlso length > 0 Then
            selectedResultsTextBox.Select(start, length)
        End If
    End If
ElseIf selectedNode.Type = ContextNodeType.InkDrawing Then
    Dim drawingNode As InkDrawingNode = CType(selectedNode, InkDrawingNode)
    selectedResultsTextBox.Text = drawingNode.GetShapeName()
ElseIf selectedNode.Type = ContextNodeType.InkBullet Then
    Dim bulletNode As InkBulletNode = CType(selectedNode, InkBulletNode)
    selectedResultsTextBox.Text = bulletNode.GetRecognizedString()
ElseIf selectedNode.Type = ContextNodeType.CustomRecognizer Then
    Dim customRecognizer As CustomRecognizerNode = CType(selectedNode, CustomRecognizerNode)
    selectedResultsTextBox.Text = customRecognizer.GetRecognizedString()
ElseIf selectedNode.Type = ContextNodeType.Object Then
    Dim selectedObject As ObjectNode = CType(selectedNode, ObjectNode)
    selectedResultsTextBox.Text = selectedObject.GetRecognizedString()
Else
    selectedResultsTextBox.Text = ""
End If
if (selectedNode.Type == ContextNodeType.WritingRegion)
{
    WritingRegionNode writingRegion = (WritingRegionNode)selectedNode;
    selectedResultsTextBox.Text = writingRegion.GetRecognizedString();
}
else if (selectedNode.Type == ContextNodeType.Paragraph)
{
    ParagraphNode paragraph = (ParagraphNode)selectedNode;
    selectedResultsTextBox.Text = paragraph.GetRecognizedString();
}
else if (selectedNode.Type == ContextNodeType.Line)
{
    LineNode line = (LineNode)selectedNode;
    selectedResultsTextBox.Text = line.GetRecognizedString();
}
else if (selectedNode.Type == ContextNodeType.InkWord)
{
    InkWordNode inkWord = (InkWordNode)selectedNode;
    ContextNode parentNode = inkWord.ParentNode;
    if (parentNode is LineNode)
    {
        LineNode parentLine = (LineNode)parentNode;
        // Put parent line's recognized string into the text box
        selectedResultsTextBox.Text = parentLine.GetRecognizedString();

        // Select the text that corresponds to the ink word
        ContextNodeCollection subNodes = new ContextNodeCollection(theInkAnalyzer);
        subNodes.Add(inkWord);
        int start;
        int length;
        parentLine.GetTextRangeFromNodes(subNodes, out start, out length);
        if (start >= 0 && length > 0)
        {
            selectedResultsTextBox.Select(start, length);
        }
    }
}
else if (selectedNode.Type == ContextNodeType.InkDrawing)
{
    InkDrawingNode drawingNode = (InkDrawingNode)selectedNode;
    selectedResultsTextBox.Text = drawingNode.GetShapeName();
}
else if (selectedNode.Type == ContextNodeType.InkBullet)
{
    InkBulletNode bulletNode = (InkBulletNode)selectedNode;
    selectedResultsTextBox.Text = bulletNode.GetRecognizedString();
}
else if (selectedNode.Type == ContextNodeType.CustomRecognizer)
{
    CustomRecognizerNode customRecognizer = (CustomRecognizerNode)selectedNode;
    selectedResultsTextBox.Text = customRecognizer.GetRecognizedString();
}
else if (selectedNode.Type == ContextNodeType.Object)
{
    ObjectNode selectedObject = (ObjectNode)selectedNode;
    selectedResultsTextBox.Text = selectedObject.GetRecognizedString();
}
else
{
    selectedResultsTextBox.Text = "";
}

平台

Windows Vista

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

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

ContextNode 類別

ContextNode 成員

System.Windows.Ink 命名空間

System.Windows.Ink.ContextNodeType

InkAnalyzer.FindNodesOfType

InkAnalyzerFindNodesOfType(Guid, array<Int32[])

InkAnalyzer.FindNodesOfType