ContextNode.CreateSubNode, méthode
Mise à jour : November 2007
Crée un objet ContextNode enfant.
Espace de noms : Microsoft.Ink
Assembly : Microsoft.Ink.Analysis (dans Microsoft.Ink.Analysis.dll)
Syntaxe
'Déclaration
Public Function CreateSubNode ( _
type As Guid _
) As ContextNode
'Utilisation
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
Paramètres
- type
Type : System.Guid
Type de nœud de contexte à créer. Utilisez l'un des GUID définis dans la classe ContextNodeType pour spécifier le type à créer.
Valeur de retour
Type : Microsoft.Ink.ContextNode
Nouvel objet ContextNode dont le parent est ce ContextNode.
Notes
Lorsque des nœuds enfants existent déjà, le nouveau ContextNode est ajouté en tant que dernier enfant dans la collection de la propriété SubNodes.
Si votre application tente par inadvertance d'ajouter un nœud non valide, par exemple une région d'écriture où un nœud ImageNode est attendu, le code lève une exception à partir de la méthode CreateSubNode.
Exemples
Cet exemple place toutes les lignes dans leurs paragraphes respectifs. Il utilise les lignes d'un InkAnalyzer, theInkAnalyzer;, crée un sous-nœud de paragraphe pour chacun d'eux et assigne les lignes à ces nouveaux paragraphes.
' 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);
}
Plateformes
Windows Vista
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Informations de version
.NET Framework
Pris en charge dans : 3.0