다음을 통해 공유


ContextNodeBase.CreateSubNode 메서드

업데이트: 2007년 11월

새 자식 ContextNodeBase 개체를 만듭니다.

네임스페이스:  System.Windows.Ink.AnalysisCore
어셈블리:  IACore(IACore.dll)

구문

‘선언
Public Function CreateSubNode ( _
    type As Guid _
) As ContextNodeBase
‘사용 방법
Dim instance As ContextNodeBase
Dim type As Guid
Dim returnValue As ContextNodeBase

returnValue = instance.CreateSubNode(type)
public ContextNodeBase CreateSubNode(
    Guid type
)
public:
ContextNodeBase^ CreateSubNode(
    Guid type
)
public ContextNodeBase CreateSubNode(
    Guid type
)
public function CreateSubNode(
    type : Guid
) : ContextNodeBase

매개 변수

  • type
    형식: System.Guid
    만들 컨텍스트 노드의 형식입니다. ContextNodeTypeBase 클래스에 정의된 GUID 중 하나를 사용하여 만들려는 형식을 지정합니다.

반환 값

형식: System.Windows.Ink.AnalysisCore.ContextNodeBase
부모가 이 ContextNodeBase인 새로 만든 ContextNodeBase 개체입니다.

설명

기존 자식 노드가 이미 있는 경우 새로 만든 ContextNodeBaseSubNodes 컬렉션의 마지막 자식으로 추가됩니다.

예제

이 예제에서는 모든 줄을 가져와 별도의 자체 단락에 배치합니다. InkAnalyzerBase의 줄을 사용하며 theInkAnalyzerBase;에서는 각 줄에 대해 새 단락 하위 노드를 만들고 줄의 부모를 새 단락으로 재지정합니다.

' Take each line and make it its own paragraph
Dim originalParagraphs As ContextNodeBaseCollection = _
    theInkAnalyzerBase.FindNodesOfType(System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Paragraph)
Dim lines As ContextNodeBaseCollection = _
    theInkAnalyzerBase.FindNodesOfType(System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line)
Dim lineNode As ContextNodeBase
For Each lineNode In lines
    ' Create a new alignment level and paragraph
    Dim lineParagraph As ContextNodeBase = lineNode.ParentNode
    Dim writingRegion As ContextNodeBase = lineParagraph.ParentNode
    Dim newParagraph As ContextNodeBase = _
        writingRegion.CreateSubNode(System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Paragraph)
    ' Reparent the line
    lineNode.Reparent(newParagraph)
Next lineNode
' Remove original paragraphs and alignment nodes
Dim originalParagraph As ContextNodeBase
For Each originalParagraph In originalParagraphs
    Dim originalAlignmentLevel As ContextNodeBase = originalParagraph.ParentNode
    originalAlignmentLevel.DeleteSubNode(originalParagraph)
    originalAlignmentLevel.ParentNode.DeleteSubNode(originalAlignmentLevel)
Next originalParagraph
// Take each line and make it its own paragraph
ContextNodeBaseCollection originalParagraphs =
    theInkAnalyzerBase.FindNodesOfType(System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Paragraph);
ContextNodeBaseCollection lines =
    theInkAnalyzerBase.FindNodesOfType(System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line);
foreach (ContextNodeBase lineNode in lines)
{
    // Create a new paragraph
    ContextNodeBase paragraph = lineNode.ParentNode;
    ContextNodeBase writingRegion = paragraph.ParentNode;
    ContextNodeBase newParagraph =
        writingRegion.CreateSubNode(System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Paragraph);
    // Reparent the line
    lineNode.Reparent(newParagraph);
}
// Remove original paragraphs 
foreach (ContextNodeBase originalParagraph in originalParagraphs)
{
    ContextNodeBase originalWritingRegion = originalParagraph.ParentNode;
    originalWritingRegion.DeleteSubNode(originalParagraph);
}

플랫폼

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

ContextNodeBase 클래스

ContextNodeBase 멤버

System.Windows.Ink.AnalysisCore 네임스페이스

ContextNodeBase.DeleteSubNode

System.Windows.Ink.AnalysisCore.ContextNodeTypeBase