バージョン

xamDayView の構成

これは、xamSchedule コントロールのビューを説明する 5 つのトピックのひとつです。

トピックは以下のセクションで構成されています。

  • 概要

  • 目的

  • アクティビティをスケジュールで表示

  • データ ソースの構成

  • ユーザー相互作用と操作性

  • xamDayView 構成オプション

  • 関連トピック

概要

xamDayView は、XamSchedule ファミリに含まれる 5 つのビュー コントロールのひとつです。この描画は、横に配列された 1 日または複数日を表示しますが、各日は指定された間隔 (たとえば 15 分) に基づいて縦に配列されたタイムスロットのシリーズに区分されます(図 1)

xamSchedule Day01.png
図 1: xamMonthView コントロールの例

タイムスロットの先頭に、指定されたタイム ゾーンの特定のタイムスロットに関連付けられた時間を示すひとつまたは 2 つのタイム ゾーン ヘッダー領域が付けられます。このビューには、24 時間以上のアクティビティが表示される「複数日アクティビティ」領域が含まれます。これらの領域はいずれもスクロールをサポートします。

目的

このビューの目的は、週の日に対してアクティビティの時間ベースの表現を提供することです。

アクティビティをスケジュールで表示

アクティビティは、 Start 時間と End 時間の間のタイムスロットを埋める矩形として表示されます。

データ ソースの構成

ビューに表示されるアクティビティおよび リソース カレンダーのデータは XamScheduleDataManager のインスタンスによって提供されます。そのインスタンスは、xamDayView の DataManager プロパティで構成されます。

ユーザー相互作用と操作性

XamDayView で、ユーザーは以下を実行できます。

  • キーボードを使用して時間帯とアクティビティをナビゲート

  • 以下により、マウスのワン クリックによるアクティビティを作成

    • タイムスロットを選択して (キーボードまたはマウスで) 入力を開始することによって

    • 時間帯の上にマウスを移動すると表示される「クリックして追加」プロンプトをクリックすることによって

  • サイズ変更グリップを使用して、アクティビティのサイズを変更 (つまり、アクティビティの Start または End を変更)

  • アクティビティをひとつのスケジュールから別のスケジュール (つまり、同じ xamScheduleDataManager と関連付けられた異なる xamSchedule コントロールの中で) にドラッグ

  • アクティビティの Subject をクリックして編集

  • 日をダブルクリックして (アクティビティ ダイアログを介して) 新しいアクティビティを作成

  • ダブルクリックすることによってアクティビティを編集

  • より多くのアクティビティ矢印を使用してアクティビティにナビゲート

  • スクロールバーまたはマウス ホイールを使用してスケジュールをスクロール

  • 選択したアクティビティを削除

    • Delete キーで

    • アクティビティ ダイアログから

  • カレンダーのグループ領域をスクロールしてサイズ変更

  • 複数日アクティビティ領域のサイズ変更

xamDayView 構成オプション

  • WeekDisplayMode - この設定にはオプションが 3 つあります。

    • None - VisibleDates コレクションで指定される日または複数日を表示します

    • Week - 7 日をすべて表示します

    • WorkWeek - 週の稼働日を表示します。デフォルト値 Monday to Friday は、 XamDataManagerSettings にある WorkDays プロパティによって変更できます。

  • ShowWorkingHoursOnly は、開発者が 1 日の稼働時間のみを表示することを可能にするブール値プロパティです。デフォルト値 (9am-5pm) は、XamDataManager の Settings にある WorkingHours プロパティによって変更できます(「稼働時間」トピックを参照してください)。

  • 第 2 のタイムゾーン設定 - xamDayView はデフォルトでひとつの第 1 のタイム ゾーン ヘッダーを表示します。ただし、開発者が第 2 のタイムゾーンヘッダーを表示することを可能にする SecondaryTimeZoneVisibility と呼ばれるプロパティがあります。TimeZoneIdラベルを設定するためのプロパティもあります。以下はサンプルです。

Visual Basic の場合:

dayView.SecondaryTimeZoneVisibility = _
    System.Windows.Visibility.Visible
dayView.SecondaryTimeZoneLabel = _
    "SecodaryLabel"
dayView.SecondaryTimeZoneId = _
    "Central Standard Time"

C# の場合:

dayView.SecondaryTimeZoneVisibility =
    System.Windows.Visibility.Visible;
dayView.SecondaryTimeZoneLabel =
    "SecodaryLabel";
dayView.SecondaryTimeZoneId =
    "Central Standard Time";
  • MultiDayActivityAreaVisibility プロパティを設定することによって、開発者は MultiDay アクティビティ領域の表示/非表示を制御できます。

Visual Basic の場合:

dayView.MultiDayActivityAreaVisibility = _
    System.Windows.Visibility.Visible

C# の場合:

dayView.MultiDayActivityAreaVisibility =
    System.Windows.Visibility.Visible;
  • カレンダー表示オプション - 複数のカレンダーで作業をする時に役に立つ設定がいくつかあります。

xamSchedule Day02.png

Visual Basic の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Overlay

C# の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Overlay;
xamSchedule Day03.png

Visual Basic の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Separate

C# の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Separate;
xamSchedule Day04.png

Visual Basic の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Merged

C# の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Merged;
xamSchedule Day05.png
  • ShowCalendarCloseButton プロパティと ShowCalendarOverlayButton プロパティは、カレンダー ボタンの表示/非表示を制御します。

    • 表示日 - 開発者は VisibleDates コレクションを移植するだけで、ひとつのカレンダーに複数日を表示できます。

Visual Basic の場合:

'最初に既存の日にちをクリアして、次に新しい日にちを設定します
dayView.VisibleDates.Clear()
dayView.VisibleDates.Add(New System.DateTime(2010, 9, 23))
dayView.VisibleDates.Add(New System.DateTime(2010, 9, 25))

C# の場合:

//最初に既存の日にちをクリアして、次に新しい日にちを設定します
dayView.VisibleDates.Clear();
dayView.VisibleDates.Add(new System.DateTime(2010, 9, 23));
dayView.VisibleDates.Add(new System.DateTime(2010, 9, 25));
xamSchedule Day06.png
  • TimeslotInterval - このプロパティによって開発者はデフォルトの 15 分のタイムスロットを変更できます。

Visual Basic の場合:

dayView.TimeslotInterval = New System.TimeSpan(0, 30, 0)

C# の場合:

dayView.TimeslotInterval = new System.TimeSpan(0, 30, 0);
xamSchedule Day07.png
  • 単一のカレンダーまたはカレンダー グループ (CalendarDisplayMode プロパティで設定された値に基づいて) は等しいサイズになります。他と比較してひとつのグループにより多くのカレンダーがある場合に、一部のタブ タイトルは表示されない場合があります。AllowCalendarGroupResizing Boolean プロパティを設定することによって、エンドユーザーによるカレンダー グループのサイズ変更を有効/無効にします。グループをサイズ変更する時、グループは引き続き等しいサイズとなります。これにより、結合されたサイズがコンテナーより大きくなるポイントに導かれ、このポイントにスクロールバーが自動的に表示されます。サイズ変更ポイントをダブルクリックすると、カレンダー グループの初期サイズに戻します。

Visual Basic の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Overlay

C# の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Overlay;
xamSchedule dayView resizing groups 1.png

Visual Basic の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Separate

C# の場合:

dayView.CalendarDisplayMode = CalendarDisplayMode.Separate;
xamSchedule dayView resizing groups 2.png
  • 場合によっては、すべてのアクティビティを表示するために複数日アクティビティ領域は小さくできます。この場合矢印が表示して、エンドユーザーはアクティビティをスクロールできます。Boolean プロパティ AllowMultiDayActivityAreaResizing を true に設定することによって、エンドユーザーによる複数日アクティビティ領域のサイズ変更を許可できます。また、 MultiDayActivityAreaHeight プロパティを使用して、カスタムの高さを指定することもできます。サイズ変更ポイントをダブルクリックすると、複数日アクティビティ領域の初期のサイズ設定ビヘイビアーに戻して、MultiDayActivityAreaHeight プロパティを NaN に設定します。

Visual Basic の場合:

dayView.AllowMultiDayActivityAreaResizing = True

C# の場合:

dayView.AllowMultiDayActivityAreaResizing = true;
xamSchedule dayView resizing area 1.png