次の方法で共有


ContextNodeType クラス

ContextNode オブジェクトの型を指定する値を定義します。

名前空間 :  System.Windows.Ink
アセンブリ :  IAWinFX (IAWinFX.dll 内)

構文

'宣言
Public NotInheritable Class ContextNodeType
'使用
Dim instance As ContextNodeType
public sealed class ContextNodeType
public ref class ContextNodeType sealed
public final class ContextNodeType
public final class ContextNodeType

解説

ContextNode.Type プロパティおよび InkAnalyzer.FindNodesOfType メソッドは、System.Windows.Ink.ContextNodeType のフィールドを頻繁に参照します。

この例では、selectedResultsTextBox という名前のTextBoxText プロパティを設定し、selectedNode という名前の選択された ContextNode と関連付けられた文字列値を表示します。この例では、Type プロパティを使用して、ContextNode の型の値に基づいてテキスト表示を指定します。

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 = "";
}

継承階層

System.Object
  System.Windows.Ink.ContextNodeType

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

ContextNodeType メンバ

System.Windows.Ink 名前空間

ContextNode.Type

InkAnalyzer.FindNodesOfType