このトピックでは、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
このトピックについては、以下のトピックも参照してください。