バージョン

ダイアグラム ノードの図形の構成 (xamDiagram)

トピックの概要

目的

このトピックでは、定義済みの図形を選択、またはカスタム図形を適用して、 xamDiagram コントロールのダイアグラム ノードの図形を構成する方法を説明します。カスタム図形またはカスタム データ テンプレートを使用する場合は、 ダイアグラム項目の内容の視覚化の構成を参照してください。このトピックでは、ダイアグラムの項目の内容について DataTemplates を設定する方法、およびこれらの内容を編集するために DataTemplates を設定する方法を説明します。

前提条件

このトピックを理解するために、以下のトピックを参照することをお勧めします。

トピック 目的

このトピックでは、 xamDiagram コントロールおよびその主要機能の概念的な概要を説明します。

このトピックでは、 xamDiagram コントロールを WPF アプリケーションに追加する方法を説明します。

概要

ダイアグラム ノードの図形の構成の概要

xamDiagram には、定義済みのノードの図形が複数あります。(詳細は、 概要のトピックを参照してください。)定義済みの図形は、 ShapeType プロパティを使用して選択します。このプロパティは、ShapeType 列挙体として使用できる各ノードの図形を値として受け取ります。定義済みの図形に目的の図形がない場合は、 Geometry プロパティでカスタム図形を設定できます。

Geometry プロパティが設定されると、ShapeType 設定は無視されます。Geometry プロパティおよび ShapeType プロパティが設定されているかどうかに関わらず、 DisplayTemplate が適用されます。ShapeTypeNone に設定されている場合、または Geometry が空のジオメトリに設定されている場合は、図形は表示されません (コンテンツとテンプレートでの定義のみが表示されます)。

設定 表示 メモ

Geometry

空のジオメトリ以外

指定されたジオメトリ

ShapeType を上書きします。

空のジオメトリ

ShapeType

使用可能な ShapeType 列挙体

指定された列挙体

コレクションから定義済みの図形を選択します。

常に適用されます。

Geometry 設定に依存しない Content プロパティと DisplayTemplate プロパティを使用すると、ダイアグラムのノードをさらに詳細にカスタマイズできます。ダイアグラムのノードのテンプレートを構成する方法の詳細は、 ダイアグラム項目の内容の視覚化の構成を参照してください。

Note
注:

通常、テンプレートは図形自体を定義するために使用するのではなく、(定義済みの場合、または Geometry を介してカスタムで作成された場合のいずれも) ノードが図形の内部で表示される状態を管理するために使用しますが、テンプレートに図形自体を定義する機能がないわけではありません。

ダイアグラム ノードの図形の構成の概要表

以下の表は、目的のノード図形とそれを管理するプロパティ設定のマップを示します。緑で強調表示された項目は、表の後に詳細が記載されています。

目的: 使用するプロパティ: 設定値:

定義済みの図形の構成

目的の定義済みの図形に対応する列挙体

カスタム図形の構成

ジオメトリの使用

カスタム ジオメトリとして定義された目的の図形

データ テンプレートの使用

目的のデータ オブジェクト

Content を表示するための目的の DataTemplate

定義済みの図形の構成

概要

ダイアグラム ノードの目的の図形を設定するには、対応する列挙値を ShapeType プロパティの値として指定します。

プロパティ設定

以下の表は、任意の構成とそれを管理するプロパティ設定のマッピングを示します。

ノードの図形を設定する目的: 使用するプロパティ: 設定値:

シェブロン

Chevron

ShapeType

Circle

太い十字線

ShapeType

Cross

細い十字線

ShapeType

ThinCross

楕円

ShapeType

Ellipse

七角形

ShapeType

Heptagon

六角形

ShapeType

Hexagon

八角形

ShapeType

Octagon

五角形

ShapeType

Pentagon

長方形

ShapeType

Rectangle

長方形、角丸

ShapeType

RoundedRectangle

菱形

ShapeType

Rhombus

四角

ShapeType

Square

三角形

ShapeType

Triangle

左下が直角の直角三角形

ShapeType

RightTriangle

右下が直角の直角三角形

ShapeType

RightTriangleMirrored

以下のスクリーンショットは、以下のコードを実行した結果、さまざまな ShapeType の設定を持つ複数のノードで構成された xamDiagram がどのように表示されるかを示しています。

xamDiagram Configuring Diagram Node Geometry 1.png

以下のコードはこの例を実装します。

XAML の場合:

<ig:XamDiagram x:Name="Diagram" Background="Gray">
    <ig:DiagramNode Position="0,0"     ShapeType="Chevron" Content="Chevron"/>
    <ig:DiagramNode Position="140,0"   ShapeType="Circle" Content="Circle"/>
    <ig:DiagramNode Position="280,0"   ShapeType="Cross" Content="Cross"/>
    <ig:DiagramNode Position="0,100"   ShapeType="Ellipse" Content="Ellipse"/>
    <ig:DiagramNode Position="140,100" ShapeType="Heptagon" Content="Heptagon"/>
    <ig:DiagramNode Position="280,100" ShapeType="Hexagon" Content="Hexagon"/>
    <ig:DiagramNode Position="0,200"   ShapeType="None" Content="None"/>
    <ig:DiagramNode Position="140,200" ShapeType="Octagon" Content="Octagon"/>
    <ig:DiagramNode Position="280,200" ShapeType="Pentagon" Content="Pentagon"/>
    <ig:DiagramNode Position="0,300"   ShapeType="Rectangle" Content="Rectangle"/>
    <ig:DiagramNode Position="140,300" ShapeType="Rhombus" Content="Rhombus"/>
    <ig:DiagramNode Position="280,300" ShapeType="RightTriangle" Content="RightTriangle"/>
    <ig:DiagramNode Position="0,400"   ShapeType="RightTriangleMirrored" Content="RightTriangleMirrored"/>
    <ig:DiagramNode Position="140,400" ShapeType="RoundedRectangle" Content="RoundedRectangle"/>
    <ig:DiagramNode Position="280,400" ShapeType="Square" Content="Square"/>
    <ig:DiagramNode Position="0,500"   ShapeType="ThinCross" Content="ThinCross"/>
    <ig:DiagramNode Position="140,500" ShapeType="Triangle" Content="Triangle"/>
</ig:XamDiagram>

カスタム図形の構成

概要

目的の図形に対してカスタム ジオメトリを指定することで、カスタム図形をダイアグラムのノードに適用できます。

プロパティ設定

以下の表は、任意の構成とそれを管理するプロパティ設定のマッピングを示します。

目的: 使用するプロパティ: 設定値:

カスタム ジオメトリの適用

目的のジオメトリ

以下のスクリーンショットは、以下の設定の結果、ダイアグラムのノードがどのように表示されるかを示しています。

プロパティ

XAML の場合:

<GeometryGroup>  <LineGeometry StartPoint="0,0" EndPoint="40,40"/>  <LineGeometry StartPoint="40,0" EndPoint="0,40"/> </GeometryGroup>
xamDiagram Configuring Diagram Node Geometry 2.png

以下のコードはこの例を実装します。

XAML の場合:

<ig:XamDiagram x:Name="Diagram">
    <ig:DiagramNode Name="node2" StrokeThickness="5">
        <ig:DiagramNode.Geometry>
            <GeometryGroup>
                <LineGeometry StartPoint="0,0" EndPoint="40,40"/>
                <LineGeometry StartPoint="40,0" EndPoint="0,40"/>
            </GeometryGroup>
        </ig:DiagramNode.Geometry>
    </ig:DiagramNode>
</ig:XamDiagram>

関連コンテンツ

トピック

このトピックの追加情報については、以下のトピックも合わせてご参照ください。

トピック 目的

このトピックでは、テンプレートを使用して、 xamDiagram コントロールでカスタムのダイアグラムのノードおよび接続を構成する方法について説明しています。

このトピックでは、 xamDiagram コントロールをデータにバインドする方法を説明します。