Compartir a través de


ContextNode.CreateSubNode (Método)

Actualización: noviembre 2007

Crea un nuevo objeto ContextNode secundario.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink.Analysis (en Microsoft.Ink.Analysis.dll)

Sintaxis

'Declaración
Public Function CreateSubNode ( _
    type As Guid _
) As ContextNode
'Uso
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

Parámetros

  • type
    Tipo: System.Guid
    Tipo de nodo de contexto que se va a crear. Utilice uno de los GUID definidos en la clase ContextNodeType para especificar qué tipo desea crear.

Valor devuelto

Tipo: Microsoft.Ink.ContextNode
El objeto ContextNode creado recientemente cuyo elemento primario es este objeto ContextNode.

Comentarios

Si ya existen nodos secundarios, el objeto ContextNode creado recientemente se agrega como el último elemento secundario de la colección de SubNodes.

Si la aplicación intenta agregar inadvertidamente un nodo inadecuado, por ejemplo una región de escritura en la que se espera un nodo ImageNode, el código produce una excepción del método CreateSubNode.

Ejemplos

En este ejemplo todas las líneas se sitúan en sus propios párrafos. Se utilizan las líneas de un objeto InkAnalyzer, theInkAnalyzer;, se crea un nuevo subnodo de párrafo para cada uno de ellos; y se cambia el elemento primario de las líneas para esos nuevos párrafos.

' 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);
            }

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

ContextNode (Clase)

ContextNode (Miembros)

Microsoft.Ink (Espacio de nombres)

ContextNode.DeleteSubNode

Microsoft.Ink.ContextNodeType