 
このトピックでは、Microsoft Project™ 2010 XML ファイルに保存された、すでに作成済みのプロジェクト計画を xamGantt™ コントロールで読み込む方法について説明します。
このトピックの本題に入る前に、以下のトピックをお読みください。
このトピックは以下のセクションからなります。
この手順では、 xamGantt コントロールで MS Project 2010 XML ファイルを読み込む方法を説明します。
以下のスクリーンショットはその結果のプレビューです。
 
以下はプロセスの概念的概要です。
以下の手順では、 xamGantt で XML プロジェクトを読み込む方法を説明します。
XAML での xamGantt コントロールの追加
xamGantt コントロールを Grid コンテナーの最初の行に追加します。
XAML の場合:
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="22" />
    </Grid.RowDefinitions>
    <ig:XamGantt x:Name="gantt" />
    <!-- Add other controls here -->
</Grid>ボタンを追加して、プロジェクトの XML ファイルを参照するためのダイアログを開きます
Button コントロールを Grid コンテナーの 2 番目の行に追加します。
XAML の場合:
<Button x:Name="Btn_LoadProject"
        Grid.Row="1"
        Content="Load XML Project File"
        Click="Btn_LoadProject_Click"/>コードビハインドでの必要な参照の追加
コード ビハインドで次の using および Imports 宣言を追加します。
C# の場合:
using System;
using System.IO;
using System.Windows;
using Infragistics;
using Infragistics.Controls.Schedules;Visual Basic の場合:
Imports System.IO
Imports Infragistics
Imports Infragistics.Controls.Schedules
Imports Microsoft.Win32ボタン クリック イベントの処理
XML プロジェクト ファイルを開くためのボタンクリック イベントを処理します。
詳細については、コード例: XML ファイルを参照するためのボタン クリック イベントの処理を参照してください。
xamGantt でのプロジェクトの読み込み
Project LoadFromProjectXml メソッドを使用して、ストリームからプロジェクトを読み込みます。
詳細については、コード例: xamGantt コントロールへのプロジェクトの読み込みを参照してください。
以下の表は、このトピックで使用したコード例をまとめたものです。
以下のコード例は、XML プロジェクト ファイルを検索して開き、Stream オブジェクトに変換する方法を示しています。
C# の場合:
using Microsoft.Win32;
private void Btn_LoadProject_Click(object sender, RoutedEventArgs e)
{
    OpenFileDialog dialog = new OpenFileDialog();
    dialog.Multiselect = false;
    dialog.InitialDirectory = "c:\\";
    dialog.Filter = "MS Project XML (.xml)|*.xml|All Files (*.*)|*.* ";
    bool? isOpened = dialog.ShowDialog();
    if (isOpened == true)
    {
        try
        {
            using (Stream stream = dialog.OpenFile())
            {
                LoadProjectFromStream(stream);
                stream.Close();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
}Visual Basic の場合:
Imports Microsoft.Win32
Private Sub Btn_LoadProject_Click(sender As Object, e As RoutedEventArgs)
    Dim dialog As New OpenFileDialog()
    dialog.Multiselect = False
    dialog.InitialDirectory = "c:\"
    dialog.Filter = "MS Project XML (.xml)|*.xml|All Files (*.*)|*.* "
    Dim isOpened As System.Nullable(Of Boolean) = dialog.ShowDialog()
    If isOpened = True Then
        Try
            Using stream As Stream = dialog.OpenFile()
                LoadProjectFromStream(stream)
                stream.Close()
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End If
End Sub以下のコード例は、前のコード例で作成された Stream オブジェクトからプロジェクトを読み込む方法を示しています。
Project LoadFromProjectXml メソッドは、Stream をパラメーターとして使用します。
C# の場合:
private void LoadProjectFromStream(Stream stream)
{
    // Create a xamGantt Project and load project data from the resulting Stream
    var project = new Project();
    // Load a project from stream
    project.LoadFromProjectXml(stream);
    this.gantt.VisibleDateRange = new DateRange(project.Start, project.Finish);
    this.gantt.Project = project;
}Visual Basic の場合:
Private Sub LoadProjectFromStream(stream As Stream)
    ' Create a xamGantt Project and load project data from a Stream
    Dim project = New Project()
    ' Load a project from stream
    project.LoadFromProjectXml(stream)
    Me.gantt.VisibleDateRange = New DateRange(project.Start, project.Finish)
    Me.gantt.Project = project
End Subこのトピックについては、以下のトピックも参照してください。