バージョン

xamGantt 追加のコンテキスト メニューの構成

トピックの概要

目的

このトピックでは、 xamGantt™ のコンテキスト メニューを構成し、 xamGantt コントロールの定義済みの領域のために追加のコンテキスト メニューを追加する方法を説明します。

前提条件

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

トピック 目的

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

xamContexMenu コントロールを使ってすばやく起動して実行するためのコントロールの使用方法を提供します。

xamGantt コンテキスト メニューの概要

概要

xamGantt コントロールには定義済みのコンテキスト メニューのセットが提供されています。さらに、xamGantt 領域の定義済みのセットのために固有のカスタムのコンテキスト メニューを追加することもできます。または希望する場合、既存のコンテキスト メニューをオーバーライドできます。

XamGantt は GanttContextMenuProvider クラスのインスタンスを使用して、デフォルトのコンテキスト メニューを定義します。コンテキスト メニューは GanttContextMenuArea 列挙体によって識別されます。

Gantt コンテキスト メニュー プロバイダー

GanttContextMenuProviderResourceOverrides プロパティを使用してカスタムの ResourceDictionary を追加できます。ResourceDictionary で追加のコンテキスト メニューを指定できます。

Gantt コンテキスト メニュー領域

GanttContextMenuArea 列挙体はコンテキスト メニューを識別するために使用されます。XamGantt はこの列挙体のメンバーのデフォルトのメニューが提供されており、列挙体のその他のメンバーのコンテキスト メニューを追加する、または既存のコンテキスト メニューをオーバーライドする機能が提供されています。

メンバー 説明 組み込みメニュー

Cell

グリッド セクションのデータ セルのコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 1.png

ColumnHeader

グリッド セクションの列ヘッダーのコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 1.png

Grid

グリッド セクションの空の部分のコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 1.png

Row

グリッド セクションの行のコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 1.png

RowSelectorHeader

グリッド セクションの行セレクターのヘッダー セルのコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 1.png

Task

チャート セクションのタスクのコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 1.png

TaskDependency

チャート セクションのタスクの依存関係のコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 1.png

TimescaleArea

チャート セクションのタイムスケール領域のコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 8.png

TimescaleBandHeader

チャート セクションのタイムスケール バンド ヘッダーのコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 8.png

TimescaleHeader

チャート セクションのタイムスケール ヘッダー プレゼンターのコンテキスト メニュー

xamGantt Configuring xamGantt Additional Context menus 8.png

コード例: xamGantt チャート セクションの追加のコンテキスト メニューを作成

説明

このコード例は、xamGantt の TimescaleArea および TimescaleBandHeader の追加のコンテキスト メニューを作成する方法を示します。GanttContexMenuProvider.ResourceOverrides にリソース ディクショナリを追加します。リソース ディクショナリに 2 つの xamContextMenu があり、1 つは TimescaleArea のためのもので、もう 1 つは TimescaleBandHeader 領域のためのものです。

注:

Note

コンテキスト メニューをこの領域と関連づけるためにコンテキスト メニューのキーとして GanttContexMenuArea メンバーの名前を指定する必要があります。

前提条件

  • コード例を完了するには xamGantt プロジェクトが必要です。サンプルの xamGantt プロジェクトを作成するためには、 xamGantt をページに追加の指示に従ってください。

  • このトピックのコード セクションに示した例と一致するために xamGantt のマークアップを変更することも必要です。

プレビュー

以下は完全なサンプル プロジェクトのプレビューです。タイムスケール バンド ヘッダー領域のための追加のコンテキスト メニューを確認できます。

xamGantt Configuring xamGantt Additional Context menus 11.png

コード

XAML の場合:

<ig:XamGantt x:Name="xamGantt" Project="{Binding Project}">
    <ig:XamGantt.ContextMenuProvider>
        <ig:GanttContextMenuProvider>
            <ig:GanttContextMenuProvider.ResourceOverrides>
                <ResourceDictionary>
                    <ig:XamContextMenu x:Key="TimescaleArea">
                        <ig:XamMenuItem Header="Show timescale..." />
                        <ig:XamMenuItem Header="Show split..." />
                    </ig:XamContextMenu>
                    <ig:XamContextMenu x:Key="TimescaleBandHeader">
                        <ig:XamMenuItem Header="Timescale ..." />
                        <ig:XamMenuItem Header="Zoom..." />
                        <ig:XamMenuItem Header="Change working time..." />
                        <ig:XamMenuItem Header="More..." />
                    </ig:XamContextMenu>
                </ResourceDictionary>
            </ig:GanttContextMenuProvider.ResourceOverrides>
        </ig:GanttContextMenuProvider>
    </ig:XamGantt.ContextMenuProvider>
</ig:XamGantt>

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

トピック 目的

このグループのトピックには、コントロールが行うことや、アプリケーションでのコントロールの使用手順など、 xamGantt コントロールに関する情報が含まれています。