ContextNodeBase.Type Property
Gets the context node type for this ContextNodeBase object.
Namespace: System.Windows.Ink.AnalysisCore
Assembly: IACore (in IACore.dll)
Syntax
'Declaration
Public ReadOnly Property Type As Guid
'Usage
Dim instance As ContextNodeBase
Dim value As Guid
value = instance.Type
public Guid Type { get; }
public:
property Guid Type {
Guid get ();
}
public function get Type () : Guid
Property Value
Type: System.Guid
Examples
The following example shows how to use the Type property of a ContextNodeBase object named selectedNode. The text of a TextBox, selectedResultsTextBox, is filled differently depending on the type of node. In most cases, the recognized string is used, but for InkWord, the line's recognized string is used, and the word is selected in the 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);
}
Platforms
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information
.NET Framework
Supported in: 3.0
See Also
Reference
System.Windows.Ink.AnalysisCore Namespace
System.Windows.Ink.AnalysisCore.ContextNodeTypeBase
InkAnalyzerBase.FindNodesOfType