Metodo ContextNode.CreateSubNode
Aggiornamento: novembre 2007
Crea un nuovo oggetto ContextNode figlio.
Spazio dei nomi: Microsoft.Ink
Assembly: Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)
Sintassi
'Dichiarazione
Public Function CreateSubNode ( _
type As Guid _
) As ContextNode
'Utilizzo
Dim instance As ContextNode
Dim type As Guid
Dim returnValue As ContextNode
returnValue = instance.CreateSubNode(type)
public ContextNode CreateSubNode(
Guid type
)
public:
ContextNode^ CreateSubNode(
Guid type
)
public ContextNode CreateSubNode(
Guid type
)
public function CreateSubNode(
type : Guid
) : ContextNode
Parametri
- type
Tipo: System.Guid
Tipo di nodo di contesto da creare. Utilizzare uno dei GUID definiti nella classe ContextNodeType per specificare il tipo da creare.
Valore restituito
Tipo: Microsoft.Ink.ContextNode
Oggetto ContextNode appena creato il cui padre è ContextNode.
Note
Quando esistono già nodi figlio, l'oggetto ContextNode appena creato viene aggiunto come ultimo elemento figlio nell'insieme di SubNodes.
Se l'applicazione tenta inavvertitamente di aggiungere un nodo inappropriato, ad esempio un'area di scrittura dove è previsto un nodo ImageNode, il codice genera un'eccezione da CreateSubNode.
Esempi
In questo esempio tutte le righe vengono inserite nei rispettivi paragrafi. Vengono utilizzate le righe di un oggetto InkAnalyzer, theInkAnalyzer;; viene creato un nuovo sottonodo di paragrafo per ciascuna di esse e vengono riassociate come padre le righe ai nuovi paragrafi.
' Take each line and make it its own paragraph
Dim originalParagraphs As ContextNodeCollection = _
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Paragraph)
Dim lines As ContextNodeCollection = _
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Line)
Dim lineNode As ContextNode
For Each lineNode In lines
' Create a new alignment level and paragraph
Dim lineParagraph As ContextNode = lineNode.ParentNode
Dim writingRegion As ContextNode = lineParagraph.ParentNode
Dim newParagraph As ParagraphNode = _
CType(writingRegion.CreateSubNode(Microsoft.Ink.ContextNodeType.Paragraph), ParagraphNode)
' Reparent the line
lineNode.Reparent(newParagraph)
Next lineNode
' Remove original paragraphs and alignment nodes
Dim originalParagraph As ContextNode
For Each originalParagraph In originalParagraphs
Dim originalAlignmentLevel As ContextNode = originalParagraph.ParentNode
originalAlignmentLevel.DeleteSubNode(originalParagraph)
originalAlignmentLevel.ParentNode.DeleteSubNode(originalAlignmentLevel)
Next originalParagraph
// Take each line and make it its own paragraph
ContextNodeCollection originalParagraphs =
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Paragraph);
ContextNodeCollection lines =
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Line);
foreach (ContextNode lineNode in lines)
{
// Create a new paragraph
ContextNode paragraph = lineNode.ParentNode;
ContextNode writingRegion = paragraph.ParentNode;
ParagraphNode newParagraph = (ParagraphNode)
writingRegion.CreateSubNode(Microsoft.Ink.ContextNodeType.Paragraph);
// Reparent the line
lineNode.Reparent(newParagraph);
}
// Remove original paragraphs
foreach (ContextNode originalParagraph in originalParagraphs)
{
ContextNode originalWritingRegion = originalParagraph.ParentNode;
originalWritingRegion.DeleteSubNode(originalParagraph);
}
Piattaforme
Windows Vista
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Informazioni sulla versione
.NET Framework
Supportato in: 3.0