'宣言 Public ReadOnly Property TimeRangeAppearances As TimeRangeAppearancesCollection
public TimeRangeAppearancesCollection TimeRangeAppearances {get;}
Appearance プロパティは、稼働および不稼働時間を表示する TimeSlots の表示属性のカスタマイズを許可する UltraDayView コントロールおよび Owner クラスによって公開されます。しかしながら、すべての日に適用する外観; TimeRangeAppearances プロパティは、任意に選択された日付や時間の範囲をカスタマイズできる表示属性によりメカニズムを提供します。
TimeRangeAppearance オブジェクトは、TimeSlot の外観が解決される時にすべての稼働時間の条件をオーバーライドします。
TimeRangeAppearances コレクションは、複数の異なるクラスによって公開されるため、外観をさまざまなレベルに定義することが可能です。つまり、特定の日、曜日、または定期的な日付パターンなどに基づきます。以下のテーブルは、TimeRangeAppearances コレクションのプロパティの解決プロセスでの優先順位の詳細を表します。
優先順序 | 解決された値 |
---|---|
1) OwnerDateSettings | Owner の DateSettings コレクションが解決する日のエントリーを含む場合は、そのエントリーが評価されます。評価されない場合、解決プロセスは次のレベルへ続行します。TimeRangeAppearances コレクションが空ではなく、time range が外観が解決される TimeSlot と交差するメンバーが存在する場合、TimeSlot は、メンバーを介してその外観を解決します。明示的に appearance に設定されていないプロパティは、解決チェイン内の次のプレーヤーが解決できるように使用可能にしておくことに注意してください。 |
2) OwnerRecurringDateSettings |
Owner の RecurringDateSettings コレクションがメンバーを 1 つ以上含む場合、各メンバーは、Recurrence プロパティで定義された定期的なパターンと一致する日付が解決されるかどうかを決定するために検証されます。評価されない場合、解決プロセスは次のレベルへ続行します。TimeRangeAppearances コレクションが空ではなく、time range が外観が解決される TimeSlot と交差するメンバーが存在する場合、TimeSlot は、メンバーを介してその外観を解決します。明示的に appearance に設定されていないプロパティは、解決チェイン内の次のプレーヤーが解決できるように使用可能にしておくことに注意してください。
注: 複数の繰り返しが同じ日付の出来事を生成する場合は、コレクションの最初に一番近いインスタンスに指定された日付に優先します。このため、稼働時間を定義するのに複数の定期的なアイテムを使用する場合は、最低頻度の出来事を生成する定期的なアイテムをコレクションの開始の一番近くに配置をお勧めします。 |
3) DayOfWeekSettings | プロパティの解決階層の最終レベルです。解決される日付に対応する DayOfWeekSettings コレクションのメンバーが参照されます。TimeRangeAppearances コレクションが空ではなく、time range が外観が解決される TimeSlot と交差するメンバーが存在する場合、TimeSlot は、メンバーを介してその外観を解決します。明示的に appearance に設定されていないプロパティは、解決チェイン内の次のプレーヤーが解決できるように使用可能にしておくことに注意してください。 |
Imports System.Collections.Generic Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports System.Diagnostics ' Add a new Owner to the Owners collection Dim myOwner As Owner = Me.calendarInfo.Owners.Add("myCalendar") ' Create an OwnerDateSettings object for the first day of the current month Dim dateSettings As OwnerDateSettings = New OwnerDateSettings(New DateTime(DateTime.Today.Year, DateTime.Today.Month, 1)) ' Designate the day as a workday dateSettings.IsWorkDay = DefaultableBoolean.True ' Add two sets of working hours, one for 9AM to 12PM, ' and another for 1PM to 5PM dateSettings.WorkingHours.Add(New TimeRange(TimeSpan.FromHours(9), TimeSpan.FromHours(12))) dateSettings.WorkingHours.Add(New TimeRange(TimeSpan.FromHours(13), TimeSpan.FromHours(17))) ' Create an appearance to indicate that the office is closed Dim officeClosedAppearance As Appearance = New Appearance() officeClosedAppearance.BackColor = Color.White officeClosedAppearance.BackColor2 = Color.LightGray officeClosedAppearance.BackGradientStyle = GradientStyle.Horizontal officeClosedAppearance.BorderColor = Color.Transparent ' Create TimeRanges for the hours during which the office is closed, ' which is 12AM to 6AM, and 8PM to 12AM Dim closed1 As TimeRange = New TimeRange(TimeSpan.FromHours(0), TimeSpan.FromHours(6)) Dim closed2 As TimeRange = New TimeRange(TimeSpan.FromHours(20), TimeSpan.FromHours(24)) ' Add two TimeRangeAppearance objects, one for each range during which ' the office is closed dateSettings.TimeRangeAppearances.Add(closed1, officeClosedAppearance) dateSettings.TimeRangeAppearances.Add(closed2, officeClosedAppearance) ' Add the OwnerDateSettings object to the Owner's DateSettings collection myOwner.DateSettings.Add(dateSettings)
using System.Collections.Generic; using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; using System.Diagnostics; // Add a new Owner to the Owners collection Owner myOwner = this.calendarInfo.Owners.Add( "myCalendar" ); // Create an OwnerDateSettings object for the first day of the current month OwnerDateSettings dateSettings = new OwnerDateSettings( new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1) ); // Designate the day as a workday dateSettings.IsWorkDay = DefaultableBoolean.True; // Add two sets of working hours, one for 9AM to 12PM, // and another for 1PM to 5PM dateSettings.WorkingHours.Add( new TimeRange( TimeSpan.FromHours(9), TimeSpan.FromHours(12) ) ); dateSettings.WorkingHours.Add( new TimeRange( TimeSpan.FromHours(13), TimeSpan.FromHours(17) ) ); // Create an appearance to indicate that the office is closed Appearance officeClosedAppearance = new Appearance(); officeClosedAppearance.BackColor = Color.White; officeClosedAppearance.BackColor2 = Color.LightGray; officeClosedAppearance.BackGradientStyle = GradientStyle.Horizontal; officeClosedAppearance.BorderColor = Color.Transparent; // Create TimeRanges for the hours during which the office is closed, // which is 12AM to 6AM, and 8PM to 12AM TimeRange closed1 = new TimeRange( TimeSpan.FromHours(0), TimeSpan.FromHours(6) ); TimeRange closed2 = new TimeRange( TimeSpan.FromHours(20), TimeSpan.FromHours(24) ); // Add two TimeRangeAppearance objects, one for each range during which // the office is closed dateSettings.TimeRangeAppearances.Add( closed1, officeClosedAppearance ); dateSettings.TimeRangeAppearances.Add( closed2, officeClosedAppearance ); // Add the OwnerDateSettings object to the Owner's DateSettings collection myOwner.DateSettings.Add( dateSettings );