次の方法で共有


ContextNode.CreateSubNode メソッド

ContextNode オブジェクトを新規作成します。

名前空間 :  System.Windows.Ink
アセンブリ :  IAWinFX (IAWinFX.dll 内)

構文

'宣言
Public Function CreateSubNode ( _
    type As Guid _
) As ContextNode
'使用
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

パラメータ

  • type
    型 : System.Guid
    作成するコンテキスト ノードの型。

戻り値

型 : System.Windows.Ink.ContextNode
新しく作成された ContextNode オブジェクトには、[T:System.Windows.Ink.ContextNode as its parent] があります。

解説

既存の子ノードが既に存在する場合、新しく作成された ContextNodeSubNodes のコレクション内の最後の子として追加されます。

アプリケーションが不適切なノード (たとえば、ImageNode ノードがあるはずの位置にある手書き領域) の追加を意図せずに試みた場合、コードは CreateSubNode から例外をスローします。

この例では、すべての行を独自の段落に配置します。また、InkAnalyzer の行を使用することにより、theInkAnalyzer; がそれらの各行の新しい段落サブノードを作成して、行の親をそれらの新しい段落に再設定します。

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

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

ContextNode クラス

ContextNode メンバ

System.Windows.Ink 名前空間

ContextNode.DeleteSubNode