ContextNodeBase.Type - свойство
Обновлен: Ноябрь 2007
Gets the context node type for this ContextNodeBase object.
Пространство имен: 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
Примеры
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);
}
Платформы
Windows Vista, Windows XP с пакетом обновления 2 (SP2), Windows Server 2003
Среды .NET Framework и .NET Compact Framework поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.
Сведения о версии
.NET Framework
Поддерживается в версии: 3.0
См. также
Ссылки
System.Windows.Ink.AnalysisCore - пространство имен
System.Windows.Ink.AnalysisCore.ContextNodeTypeBase
InkAnalyzerBase.FindNodesOfType