Compartir a través de


ContextNode.CreateSubNode (Método)

Actualización: noviembre 2007

Crea un nuevo objeto ContextNode secundario.

Espacio de nombres:  System.Windows.Ink
Ensamblado:  IAWinFX (en IAWinFX.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.

Valor devuelto

Tipo: System.Windows.Ink.ContextNode
El objeto ContextNode creado recientemente tiene [T:System.Windows.Ink.ContextNode as its parent].

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(ContextNodeType.Paragraph)

Dim lines As ContextNodeCollection = _
    theInkAnalyzer.FindNodesOfType(ContextNodeType.Line)

For Each lineNode As ContextNode In lines
    ' Create a new paragraph
    Dim paragraph As ContextNode = lineNode.ParentNode
    Dim writingRegion As ContextNode = paragraph.ParentNode
    Dim newParagraph As ParagraphNode = CType(writingRegion.CreateSubNode(ContextNodeType.Paragraph), ParagraphNode)
    ' Reparent the line
    lineNode.Reparent(newParagraph)
Next lineNode

' Remove original paragraphs 
For Each originalParagraph As ContextNode In originalParagraphs
    Dim originalWritingRegion As ContextNode = originalParagraph.ParentNode
    originalWritingRegion.DeleteSubNode(originalParagraph)
Next originalParagraph
// Take each line and make it its own paragraph
ContextNodeCollection originalParagraphs =
    theInkAnalyzer.FindNodesOfType(ContextNodeType.Paragraph);
ContextNodeCollection lines =
    theInkAnalyzer.FindNodesOfType(ContextNodeType.Line);
foreach (ContextNode lineNode in lines)
{
    // Create a new paragraph
    ContextNode paragraph = lineNode.ParentNode;
    ContextNode writingRegion = paragraph.ParentNode;
    ParagraphNode newParagraph = (ParagraphNode)
        writingRegion.CreateSubNode(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)

System.Windows.Ink (Espacio de nombres)

ContextNode.DeleteSubNode