バージョン

CurrentUser の設定とコントロールの動作に対する影響

XamScheduleDataManager は、アプリケーションのカレント ユーザーに関係する 2 つのプロパティ CurrentUserCurrentUserId を公開します。いずれかのプロパティが設定されると、もう一方のプロパティは適切な値に自動的に同期されます。したがって、CurrentUser プロパティを Resource に設定すると、CurrentUserId はその ResourceId に設定されます。同様に、CurrentUserId を設定すると、CurrentUser は、Id としてその値を持つデータ マネージャーの ResourceItems からの Resource に設定されます。通常の状況では、開発者は CurrentUserId プロパティを設定する必要があります。このように、ResourceItems コレクションが移植されている時には必ず、CurrentUser を自動的に更新できます。

XAML の場合:

<ig:XamScheduleDataManager
    DataConnector="{Binding ElementName=scheduleDataConnector}"
    CurrentUserId="own1">

CurrentUser は、アラーム、稼働時間情報、表示されるカレンダーをはじめとする xamSchedule 製品のいくつかの領域に影響を与えます。

アラーム

xamScheduleDataManager は、 OwningResourceId がデータ マネージャーの CurrentUserId と一致する場合にアクティビティを追跡してアラーム起動するだけです。このように、ユーザーは他のユーザーのカレンダーを表示できますが、受け取ることができるのはユーザー自身のアクティビティのアラームに限定されます。

アクティビティ エンティティ オブジェクト (たとえば Appointment) は DataConnector によって提供されているため、これらのオブジェクトの状態は xamScheduleDataManager の状態に影響されないことに注意してください。したがって、アクティビティの ReminderEnabled は、基本データの状態に影響します。これはアラームがアクティブかどうか、そして xamScheduleDataManager によって表示されるかどうかを示すだけです。ReminderEnabled の状態は CurrentUser に依存しないため、ActivityPresenter (さまざまなアクティビティ エンティティ クラスを表すために使用される要素の基本クラスである) は CurrentUserだけでなく ReminderEnabled の状態を考慮する ReminderVisibility プロパティを公開します。

表示されるカレンダー

スケジュール ビューによって表示されるカレンダーは解決プロセスに基づいています。このプロセスは、ビュー コントロールの CalendarGroupsOverride を最初に考慮します。そのコレクションにひとつ以上の CalendarGroup インスタンスがある場合、ビューによってどのカレンダーが表示されるのかを決定します。そのコレクションが空の場合、関連付けられた DataManager の CalendarGroups が考慮されます。再度、そのコレクションにひとつ以上の CalendarGroup インスタンスがある場合、ビューによってどのカレンダーが表示されるのかを決定します。ただし、これらのコレクションはいずれもデフォルトで空になっています。解決プロセスの最後の部分は CurrentUser に関係します。CalendarGroup インスタンスを一切提供していない場合には、ビュー コントロールは CurrentUser の PrimaryCalendar を表示します。

稼働時間/稼働日

ビュー コントロールによって表示される情報は、稼働時間情報の影響を受ける可能性があります。xamScheduleView または xamDayView の場合、WeekDisplayMode が WorkWeek に設定されていると、稼働日として解決される日のみが VisibleDates に含まれます。同様に、その ShowWorkingHoursOnly が True に設定されると、稼働時間と交差するタイムスロットのみが表示に含まれます。稼働時間情報のソースは、WorkingHoursSource プロパティに基づいており、デフォルトで CurrentUser に設定されています。xamDayView の場合、 ShowWorkingHoursOnly が True に設定されると、表示されるタイムスロットは稼働時間の結合に基づいています。したがって、稼働時間情報が日の間で異なる複数日を表示する時、非稼働時間のタイムスロットが一部表示されることに注意してください。

xamMonthViewShowingWorkingDaysOfWeekOnly プロパティを公開します。これは True に設定されると、稼働時間がある曜日しか含みません。稼働日情報のソースは、 WorkingDaysSource プロパティに基づいており、デフォルトで CurrentUser に設定されています。

週の最初の曜日

最初の曜日を解決する時、 CurrentUserFirstDayOfWeek が最初に考慮されます。これが設定されていない場合には、データ マネージャーの SettingsFirstDayOfWeek が考慮されます。解決された最初の曜日は、週を表示するコントロールによって表示される日付に影響します (たとえば、 WeekDisplayMode が設定されている時の xamScheduleView/xamDayView および xamMonthView)。これは、xamMonthView で Home/End を押す、または xamScheduleView/xamDayView で Alt-Home/End を押すなど、最初/最後の曜日に関係するキーボード ナビゲーションにも影響します。