バージョン

プロシージャ コードを使用して xamTreemap を追加

始める前に

このトピックでは、XAML を使用して xamTreemap コントロールを独自の アプリケーション へ追加する基本的な手順を説明します。コントロールでは、データ オブジェクト モデルを DataContext プロパティにマップする必要があります。トピックは簡易データ オブジェクトモデルを提供しますが、カスタムモデルを作成することも可能です。

達成すること

アプリケーションへバインドしたシンプルなデータのある xamTreemap コントロールのインスタンスを追加します。

次の手順を実行します

注: このサンプルは xamTreemap コントロールの DataContext プロパティのバインドにサンプル データ モデルを使用しています。サンプル データ モデルは ManufacturerViewModel からダウンロードできます。

  1. Microsoft® WPF アプリケーションを作成します。

  2. 以下の NuGet パッケージをアプリケーションに追加します。

    • Infragistics.WPF.Treemap

    NuGet フィードのセットアップと NuGet パッケージの追加の詳細については、NuGet フィード ドキュメントを参照してください。

  1. UserControl の Loaded イベントにイベント ハンドラーを追加します。

XAML の場合:

<UserControl Loaded="UserControl_Loaded">
</UserControl>
  1. コード ビハインドに using/Imports を配置します。

Visual Basic の場合:

Imports Infragistics.Controls.Charts
Imports DATA_MODEL_NAMESPACE

C# の場合:

using Infragistics.Controls.Charts;
using DATA_MODEL_NAMESPACE;
  1. UserControl_Loaded イベント ハンドラー内で、DataContext を ManufacturerViewModel にバインドし、ItemsSource をビュー モデルの Manufacturers プロパティをバインドして xamTreemap コントロールのインスタンスを作成します。

Visual Basic の場合:

Dim data As New ManufacturerViewModel()
Dim Treemap As New XamTreemap()
Treemap.DataContext = data
Treemap.ItemsSource = data.Manufacturers

C# の場合:

ManufacturerViewModel data = new ManufacturerViewModel();
XamTreemap Treemap = new XamTreemap();
Treemap.DataContext = data;
Treemap.ItemsSource = data.Manufacturers;
  1. xamTreemap の新しいインスタンスを Grid パネルの Children コレクションに追加します (新しいページを初めて作成する時には、デフォルトで「LayoutRoot」という名前のグリッド パネルが定義されます)。

Visual Basic の場合:

Me.LayoutRoot.Children.Add(Treemap)

C# の場合:

this.LayoutRoot.Children.Add(Treemap);
  1. 新しい ノード バインダーを作成して、xamTreemap コントロールの NodeBinders コレクションに追加します。

Visual Basic の場合:

Dim binder As New NodeBinder()
binder.TargetTypeName = "Manufacturer"
binder.ValuePath = "Revenue"
binder.TextPath = "Name"
Treemap.NodeBinders.Add(binder)

C# の場合:

NodeBinder binder = new NodeBinder();
binder.TargetTypeName = "Manufacturer";
binder.ValuePath = "Revenue";
binder.TextPath = "Name";
Treemap.NodeBinders.Add(binder);

注: これは、この手順でアプリケーションを実行した場合に xamTreemap コントロールがどのように表示するかを示します。

xamTreemap Adding xamTreemap Using Xaml Procedural Code 01.png
  1. 新しい 値マッパーを作成して、xamTreemap コントロールの ValueMappers コレクションに追加します。

Visual Basic の場合:

Dim mapper As New ColorMapper()
mapper.ValueTypeName = "Manufacturer"
mapper.TargetProperty = "Fill"
mapper.ValuePath = "Revenue"
mapper.From = Color.FromArgb(144, 255, 0, 0)
mapper.To = Color.FromArgb(144, 0, 128, 0)
Treemap.ValueMappers.Add(mapper)

C# の場合:

ColorMapper mapper = new ColorMapper();
mapper.ValueTypeName = "Manufacturer";
mapper.TargetProperty = "Fill";
mapper.ValuePath = "Revenue";
mapper.From = Color.FromArgb(144, 255, 0, 0);
mapper.To = Color.FromArgb(144, 0, 128, 0);
Treemap.ValueMappers.Add(mapper);
  1. アプリケーションを保存して実行します。

xamTreemap Adding xamTreemap Using Xaml Procedural Code 02.png

完全なコード

Visual Basic の場合:

    Private Sub UserControl_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
        Dim data As New ManufacturerViewModel()
        Dim Treemap As New XamTreemap()
        Treemap.DataContext = data
        Treemap.ItemsSource = data.Manufacturers
        Me.LayoutRoot.Children.Add(Treemap)
        Dim binder As New NodeBinder()
        binder.TargetTypeName = "Manufacturer"
        binder.ValuePath = "Revenue"
        binder.TextPath = "Name"
        Treemap.NodeBinders.Add(binder)
        Dim mapper As New ColorMapper()
        mapper.ValueTypeName = "Manufacturer"
        mapper.TargetProperty = "Fill"
        mapper.ValuePath = "Revenue"
        mapper.From = Color.FromArgb(144, 255, 0, 0)
        mapper.To = Color.FromArgb(144, 0, 128, 0)
        Treemap.ValueMappers.Add(mapper)
    End Sub

C# の場合:

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            ManufacturerViewModel data = new ManufacturerViewModel();
            XamTreemap Treemap = new XamTreemap();
            Treemap.DataContext = data;
            Treemap.ItemsSource = data.Manufacturers;
            this.LayoutRoot.Children.Add(Treemap);
            NodeBinder binder = new NodeBinder();
            binder.TargetTypeName = "Manufacturer";
            binder.ValuePath = "Revenue";
            binder.TextPath = "Name";
            Treemap.NodeBinders.Add(binder);
            ColorMapper mapper = new ColorMapper();
            mapper.ValueTypeName = "Manufacturer";
            mapper.TargetProperty = "Fill";
            mapper.ValuePath = "Revenue";
            mapper.From = Color.FromArgb(144, 255, 0, 0);
            mapper.To = Color.FromArgb(144, 0, 128, 0);
            Treemap.ValueMappers.Add(mapper);
        }