バージョン

xamGantt をページに追加

トピックの概要

目的

このトピックでは、 xamGantt™ コントロールをページに追加する方法について説明します。

このトピックの内容

このトピックは以下のセクションからなります。

xamGantt をページに追加

はじめに

この手順では、 xamGantt コントロールをページに追加する方法、およびプロジェクトに含める必要がある参照について説明します。

プレビュー

以下のスクリーンショットはその結果のプレビューです。

Adding xamGantt to a Page 1.png

前提条件

この手順を実行するには、以下のリソースが必要です。

  • 以下の必要な NuGet パッケージへの参照を含むプロジェクト。

    • Infragistics.WPF.Gantt

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

  • サンプル プロジェクト データを含む ProjectDataHelper クラスを含むプロジェクト。

手順

次の手順では、 xamGantt コントロールをページに追加し、サンプル プロジェクト データにバインドする方法を紹介します。

  1. 必要な名前空間の追加

以下の名前空間を追加します:

XAML の場合:

xmlns:ig="http://schemas.infragistics.com/xaml"
xmlns:local="clr-namespace:[Your ViewModel Namespace]"
  1. ViewModel クラスを作成する

Project タイプのパブリック プロパティ Project を表す ViewModel クラスを作成します。このクラスは、INotifyPropertyChanged インターフェイスを実装する ObservableModel クラスを継承します。プロジェクトのサンプル データはクラス コンストラクターに読み込まれます。

詳細については、 コード例: ProductViewModel クラスを参照してください。

  1. xamGantt コントロールをページに追加

xamGantt コントロールをページ Grid コンテナーに追加し、それを ProjectViewModel が提供するプロジェクト データにバインドします。

XAML の場合:

<Grid>
  <Grid.Resources>
  <!--Create a static Grid resource of type ProjectViewModel-->
    <local:ProjectViewModel x:Key="viewmodel" />
  </Grid.Resources>
  <Grid.DataContext>
  <!--Bind the Grid DataContext
      to the created data resource -->
    <Binding Source="{StaticResource viewmodel}" />
  </Grid.DataContext>
  <!— Add a xamGantt and bind it to the data -->
    <ig:XamGantt x:Name="gantt"
                 Project="{Binding Project}"/>
</Grid>

コード例: ProductViewModel クラス

解説

ProjectViewModel クラスは、Project タイプのパブリック プロパティ Project を公開します。このプロパティは初期化され、ViewModel クラスのコンストラクター内のサンプル プロジェクト データを投入されます。

コード

C# の場合:

using System;
using System.ComponentModel;
using Infragistics.Controls.Schedules;
public class ProjectViewModel : ObservableModel
{
    public ProjectViewModel()
    {
        this._project = ProjectDataHelper.GenerateProjectData();
    }
    private Project _project;
    public Project Project
    {
        get
        {
            return this._project;
        }
        set
        {
            if (this._project != value)
            {
                this._project = value;
                this.NotifyPropertyChanged("Project");
            }
        }
    }
}
public class ObservableModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    protected void NotifyPropertyChanged(String info)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }
}

Visual Basic の場合:

Imports System.ComponentModel
Imports Infragistics.Controls.Schedules
Public Class ProjectViewModel
    Inherits ObservableModel
    Public Sub New()
        Me._project = ProjectDataHelper.GenerateProjectData()
    End Sub
    Private _project As Project
    Public Property Project() As Project
        Get
            Return Me._project
        End Get
        Set(value As Project)
            Me._project = value
            Me.NotifyPropertyChanged("Project")
        End Set
    End Property
End Class
Public Class ObservableModel
    Implements INotifyPropertyChanged
    Public Event PropertyChanged(ByVal sender As Object, ByVal e As PropertyChangedEventArgs) Implements INotifyPropertyChanged.PropertyChanged
    Protected Overridable Sub NotifyPropertyChanged(ByVal propertyName As String)
        RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
    End Sub
End Class

関連コンテンツ

トピック

このトピックについては、以下のトピックも参照してください。

トピック 目的

このトピックは xamGantt 、プロジェクト、タスク、およびその他の xamGantt 要素についての基本情報を説明します。

このトピックのグループは、 xamGantt コントロールの詳細を説明します。

このグループのこのトピックでは、 xamGantt コントロールを使用したデータ バインディングについて説明します。

このグループのトピックは、 xamGantt コントロールの構成可能な機能を説明します。