これは、xamSchedule コントロールのビューを説明する 5 つのトピックのひとつです。
xamDayView (これは現在のトピックです)
トピックは以下のセクションで構成されています。
概要
目的
アクティビティをスケジュールで表示
データ ソースの構成
ユーザー相互作用と操作性
xamDayView 構成オプション
関連トピック
xamDayView は、XamSchedule ファミリに含まれる 5 つのビュー コントロールのひとつです。この描画は、横に配列された 1 日または複数日を表示しますが、各日は指定された間隔 (たとえば 15 分) に基づいて縦に配列されたタイムスロットのシリーズに区分されます(図 1)
タイムスロットの先頭に、指定されたタイム ゾーンの特定のタイムスロットに関連付けられた時間を示すひとつまたは 2 つのタイム ゾーン ヘッダー領域が付けられます。このビューには、24 時間以上のアクティビティが表示される「複数日アクティビティ」領域が含まれます。これらの領域はいずれもスクロールをサポートします。
このビューの目的は、週の日に対してアクティビティの時間ベースの表現を提供することです。
ビューに表示されるアクティビティおよび リソース カレンダーのデータは XamScheduleDataManager のインスタンスによって提供されます。そのインスタンスは、xamDayView の DataManager プロパティで構成されます。
XamDayView で、ユーザーは以下を実行できます。
キーボードを使用して時間帯とアクティビティをナビゲート
以下により、マウスのワン クリックによるアクティビティを作成
タイムスロットを選択して (キーボードまたはマウスで) 入力を開始することによって
時間帯の上にマウスを移動すると表示される「クリックして追加」プロンプトをクリックすることによって
サイズ変更グリップを使用して、アクティビティのサイズを変更 (つまり、アクティビティの Start または End を変更)
アクティビティをひとつのスケジュールから別のスケジュール (つまり、同じ xamScheduleDataManager と関連付けられた異なる xamSchedule コントロールの中で) にドラッグ
アクティビティの Subject をクリックして編集
日をダブルクリックして (アクティビティ ダイアログを介して) 新しいアクティビティを作成
ダブルクリックすることによってアクティビティを編集
より多くのアクティビティ矢印を使用してアクティビティにナビゲート
スクロールバーまたはマウス ホイールを使用してスケジュールをスクロール
選択したアクティビティを削除
Delete キーで
アクティビティ ダイアログから
カレンダーのグループ領域をスクロールしてサイズ変更
複数日アクティビティ領域のサイズ変更
WeekDisplayMode - この設定にはオプションが 3 つあります。
None - VisibleDates コレクションで指定される日または複数日を表示します
Week - 7 日をすべて表示します
WorkWeek - 週の稼働日を表示します。デフォルト値 Monday to Friday は、 XamDataManager の Settings にある 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;
カレンダー表示オプション - 複数のカレンダーで作業をする時に役に立つ設定がいくつかあります。
CalendarDisplayMode - このプロパティには、 Overlay、 Separate および Merged の 3 つのオプションがあります。
Visual Basic の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Overlay
C# の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Overlay;
Visual Basic の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Separate
C# の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Separate;
Visual Basic の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Merged
C# の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Merged;
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));
TimeslotInterval - このプロパティによって開発者はデフォルトの 15 分のタイムスロットを変更できます。
Visual Basic の場合:
dayView.TimeslotInterval = New System.TimeSpan(0, 30, 0)
C# の場合:
dayView.TimeslotInterval = new System.TimeSpan(0, 30, 0);
単一のカレンダーまたはカレンダー グループ (CalendarDisplayMode プロパティで設定された値に基づいて) は等しいサイズになります。他と比較してひとつのグループにより多くのカレンダーがある場合に、一部のタブ タイトルは表示されない場合があります。AllowCalendarGroupResizing Boolean プロパティを設定することによって、エンドユーザーによるカレンダー グループのサイズ変更を有効/無効にします。グループをサイズ変更する時、グループは引き続き等しいサイズとなります。これにより、結合されたサイズがコンテナーより大きくなるポイントに導かれ、このポイントにスクロールバーが自動的に表示されます。サイズ変更ポイントをダブルクリックすると、カレンダー グループの初期サイズに戻します。
Visual Basic の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Overlay
C# の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Overlay;
Visual Basic の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Separate
C# の場合:
dayView.CalendarDisplayMode = CalendarDisplayMode.Separate;
場合によっては、すべてのアクティビティを表示するために複数日アクティビティ領域は小さくできます。この場合矢印が表示して、エンドユーザーはアクティビティをスクロールできます。Boolean プロパティ AllowMultiDayActivityAreaResizing を true に設定することによって、エンドユーザーによる複数日アクティビティ領域のサイズ変更を許可できます。また、 MultiDayActivityAreaHeight プロパティを使用して、カスタムの高さを指定することもできます。サイズ変更ポイントをダブルクリックすると、複数日アクティビティ領域の初期のサイズ設定ビヘイビアーに戻して、MultiDayActivityAreaHeight プロパティを NaN に設定します。
Visual Basic の場合:
dayView.AllowMultiDayActivityAreaResizing = True
C# の場合:
dayView.AllowMultiDayActivityAreaResizing = true;