バージョン

Microsoft Project XML ファイルへのプロジェクト計画の保存 (xamGantt)

トピックの概要

目的

このトピックは、Microsoft Project XML ファイルへ xamGantt™ プロジェクト計画を保存する方法について説明します。

前提条件

このトピックを理解するためには、以下のトピックを理解しておく必要があります。

トピック 目的

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

MS Project XML ファイルへのプロジェクト計画の保存

はじめに

プロシージャは、MS Project XML ファイルへ xamGantt プロジェクト計画を保存する方法について説明します。

注:

Note

プロジェクト計画を保存する場合、 xamGantt コントロールは MS Project 2010 ファイル形式のみをサポートします。

プレビュー

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

xamGantt Saving a Project to XML.png

概要

以下はプロセスの概念的概要です:

1.XAML で xamGantt コントロールを追加します。

2.プロジェクト計画を XML ファイルとして保存するためのオープン ダイアログ ボックスを追加します。

3.コードビハインドでの必要な参照を追加します。

4.ボタン クリック イベントを処理します。

5.MS Project XML ファイルにプロジェクト計画を保存します。

手順

以下に、 xamGantt プロジェクト計画を XML ファイルに保存する手順を示します。

  1. XAML で xamGantt コントロールを追加します。

xamGantt コントロールを Grid コンテナーの最初の行に追加します。

XAML の場合:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <ig:XamGantt x:Name="gantt" />
    <!-- ここでその他のコントロールを追加します -->
</Grid>
  1. XML ファイルを保存ダイアログを表示するボタンを追加します。

Button コントロールを Grid コンテナーの 2 番目の行に追加します。

XAML の場合:

 <Button x:Name="Btn_SaveProject"
        Grid.Row="1"
        Content="Save XML Project File"
        Click="Btn_SaveProject_Click"/>
  1. コードビハインドでの必要な参照の追加

コード ビハインドで次の using および Imports 宣言を追加します。

C# の場合:

using System;
using System.IO;
using System.Windows;
using Infragistics;
using Infragistics.Controls.Schedules;
using Microsoft.Win32;

Visual Basic の場合:

Imports System.IO
Imports Infragistics
Imports Infragistics.Controls.Schedules
Imports Microsoft.Win32
  1. ボタン クリック イベントを処理します。

MS Project XML ファイルへ xamGantt プロジェクト計画を保存するためにボタン クリック イベントを処理します。

  1. MS Project XML ファイルに xamGantt プロジェクトを保存します。

ProjectSaveAsProjectXml メソッドを使用して、ストリームにプロジェクトを保存します。

注:

Note

MS Project XML ファイルからプロジェクト計画を読み込む」トピックは、サンプル データのロード方法を示します。

コード例

コード例のサマリー

以下の表は、このトピックで使用したコード例をまとめたものです。

解説

サンプル コードは、SaveFileDialog クラスを使用して MS Project XML ファイルへ xamGantt プロジェクト計画を保存します。

コード例では、MS Project XML ファイルに xamGantt プロジェクト計画を保存します。

コード例: XML ファイルとしてプロジェクト計画を保存するためのボタン クリック イベントの処理

説明

サンプル コードは、SaveFileDialog クラスを使用して MS Project XML ファイルへ xamGantt プロジェクト計画を保存します。

コード

C# の場合:

using Microsoft.Win32;
private void Btn_SaveProject_Click(object sender, RoutedEventArgs e)
{
    SaveFileDialog dialog = new SaveFileDialog();
    dialog.InitialDirectory = "c:\\";
    dialog.Filter = "MS Project XML (.xml)|*.xml|All Files (*.*)|*.* ";
    bool? isSaved = dialog.ShowDialog();
    if (isSaved == true)
    {
        try
        {
            using (Stream stream = dialog.OpenFile())
            {
                SaveProjectToStream(stream);
                stream.Close();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
}

Visual Basic の場合:

Imports Microsoft.Win32
Private Sub Btn_SaveProject_Click(sender As Object, e As RoutedEventArgs)
    Dim dialog As New SaveFileDialog()
    dialog.InitialDirectory = "c:\"
    dialog.Filter = "MS Project XML (.xml)|*.xml|All Files (*.*)|*.* "
    Dim isSaved As System.Nullable(Of Boolean) = dialog.ShowDialog()
    If isSaved = True Then
        Try
            Using stream As Stream = dialog.OpenFile()
                SaveProjectToStream(stream)
                stream.Close()
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End If
End Sub

コード例: MS Project XML ファイルへの xamGantt プロジェクト計画の保存

説明

以下のコード例は、C# とVisual Basic の両方で MS Project XML ファイルに xamGantt プロジェクト計画を保存する方法を示します。

コード

C# の場合:

private void SaveProjectToStream(Stream stream)
{
    // xamGantt プロジェクトを取得します。
    var project = this.gantt.Project;
    project.SaveAsProjectXml(stream);
}

Visual Basic の場合:

Private Sub SaveProjectToStream(stream As Stream)
    '  xamGantt プロジェクトを取得します。
    Dim project = Me.gantt.Project
    project.SaveAsProjectXml(stream)
End Sub

関連コンテンツ

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

トピック 目的

このトピックは、 xamGantt コントロールのデータ バインディングの概要を説明します。

このトピックでは、Project プロパティによって xamGantt コントロールをデータにバインドする方法を説明します。

このトピックでは、ListBackedProject で xamGantt コントロールを任意のタスク コレクションにバインドする方法を説明します。

このトピックでは、Microsoft Project™ 2010 XML ファイルに保存された、すでに作成済みのプロジェクト計画を xamGantt コントロールで読み込む方法について説明します。