共用方式為


ContextNodeBase.Type 屬性

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

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

語法

'宣告
Public ReadOnly Property Type As Guid
'用途
Dim instance As ContextNodeBase
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

範例

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

If (selectedNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.RecognizedString) AndAlso _
   (selectedNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.WritingRegion OrElse _
    selectedNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Paragraph OrElse _
    selectedNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.CustomRecognizer OrElse _
    selectedNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Object OrElse _
    selectedNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line)) Then

    selectedResultsTextBox.Text = _
        CType(selectedNode.GetPropertyData(PropertyGuidsForContextNodesBase.RecognizedString), String)

ElseIf (selectedNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkWord) Then
    Dim parentNode As ContextNodeBase = selectedNode.ParentNode
    If (parentNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line AndAlso _
            parentNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.RecognizedString)) Then

        ' Put parent line's recognized string into the text box
        selectedResultsTextBox.Text = _
            CType(parentNode.GetPropertyData(PropertyGuidsForContextNodesBase.RecognizedString), String)

        ' Select the text that corresponds to the ink word
        Dim subNodes As New ContextNodeBaseCollection(theInkAnalyzerBase)
        subNodes.Add(selectedNode)
        Dim start As Integer
        Dim length As Integer
        theInkAnalyzerBase.GetTextRangeFromNodes(subNodes, start, length)
        If (start >= 0 AndAlso length > 0) Then
            selectedResultsTextBox.Select(start, length)
        End If
    End If
ElseIf (selectedNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkDrawing AndAlso _
        selectedNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.ShapeName)) Then

    selectedResultsTextBox.Text = _
        CType(selectedNode.GetPropertyData(PropertyGuidsForContextNodesBase.ShapeName), String)

End If
if (selectedNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.RecognizedString) &&
   (selectedNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.WritingRegion ||
    selectedNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Paragraph ||
    selectedNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.CustomRecognizer ||
    selectedNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Object ||
    selectedNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line))
{
    selectedResultsTextBox.Text =
        (string)selectedNode.GetPropertyData(PropertyGuidsForContextNodesBase.RecognizedString);
}
else if (selectedNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkWord)
{
    ContextNodeBase parentNode = selectedNode.ParentNode;
    if (parentNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line &&
        parentNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.RecognizedString))
    {
        // Put parent line's recognized string into the text box
        selectedResultsTextBox.Text =
            (string)parentNode.GetPropertyData(PropertyGuidsForContextNodesBase.RecognizedString);

        // Select the text that corresponds to the ink word
        ContextNodeBaseCollection subNodes = new ContextNodeBaseCollection(theInkAnalyzerBase);
        subNodes.Add(selectedNode);
        int start;
        int length;
        theInkAnalyzerBase.GetTextRangeFromNodes(subNodes, out start, out length);
        if (start >= 0 && length > 0)
        {
            selectedResultsTextBox.Select(start, length);
        }
    }
}
else if (selectedNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkDrawing &&
         selectedNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.ShapeName))
{
    selectedResultsTextBox.Text =
        (string)selectedNode.GetPropertyData(PropertyGuidsForContextNodesBase.ShapeName);

}

平台

Windows Vista, Windows XP SP2, Windows Server 2003

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

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

ContextNodeBase 類別

ContextNodeBase 成員

System.Windows.Ink.AnalysisCore 命名空間

System.Windows.Ink.AnalysisCore.ContextNodeTypeBase

InkAnalyzerBase.FindNodesOfType

InkAnalyzerBase.FindNodesOfType

InkAnalyzerBase.FindNodesOfType