バージョン

権限

XamScheduleDataManager は、特定の操作の実行をユーザーに許可するかどうかを制御することができるプロパティを公開します。これらのプロパティは、タイプ ScheduleSettings クラスである、 Settings プロパティを介して XamScheduleDataManager によって公開されます。以下はユーザー権限に関係して ScheduleSettings クラスが公開するプロパティのリストです。

  • AllowCalendarClosing - UI を介してカレンダーを閉じることをユーザーに許可するかどうかを決定します。このプロパティはカレンダー タブの閉じるボタンの表示/非表示に影響を与えることができます。ビュー コントロールの ShowCalendarCloseButton がデフォルト値 null に設定される場合、このプロパティを False に設定するとボタンを非表示にします。

  • AppointmentSettings - 予定の設定を含みます。

  • JournalSettings - 履歴の設定を含みます。

  • TaskSettings - タスクの設定を含みます。

AppointmentSettings、JournalSettings および TaskSettings はすべて以下のプロパティを公開します。

  • AllowAdd - プロパティが AppointmentSettings、JournalSettings または TaskSettings にそれぞれ属するかどうかによって、予定、履歴またはタスクといったアクティビティの追加をユーザーに許可するかどうかを指定します。

  • AllowEdit - 既存のアクティビティの修正をユーザーに許可するかどうかを指定します。

  • AllowDragging - アクティビティのドラッグをユーザーに許可するかどうかを指定します。ドラッグは、アクティビティをドロップする時に Ctrl キーを押すことによって、ユーザーがアクティビティの時間を更新する、またはアクティビティのコピーを作るための便利な方法を提供します。

  • AllowRecurring - 繰り返しイベントの作成をユーザーに許可するかどうかを指定します。

  • AllowRemove - アクティビティの削除をユーザーに許可するかどうかを指定します。

  • AllowResizing - アクティビティのリサイズをユーザーに許可するかどうかを指定します。アクティビティのリサイズは、ユーザーがアクティビティの開始時間または終了時間を変更するための便利な方法を提供します。

  • AllowTimeZoneNeutral - ユーザーがタイム ゾーン ニュートラルなアクティビティを作成できるかどうかを指定します。タイム ゾーン ニュートラルなアクティビティは、アクティビティに関連付けられた特定のタイム ゾーンを持たず、特定の UTC 時間に開始しないアクティビティです。その代わりに、さまざまなタイム ゾーンの同じ「ローカル」時刻に開始するフローティング開始時間を持ちます。AppointmentSettings で AllowTimeZoneNeutral が False に設定されると、[All Day Event] チェックボックスが予定ダイアログに表示されなくなることに注意してください。

上記のプロパティに加えて、 Resource オブジェクトと ActivityBase オブジェクトはユーザー権限に影響を与える以下のプロパティを公開します。

  • Resource. IsLocked - True に設定されると、ユーザーは追加や削除を含み、このリソースのアクティビティを修正できなくなります。

  • ActivityBase. IsLocked - True に設定されると、ユーザーはアクティビティを修正または削除できなくなります。

操作の実行をユーザーに許可するかどうかにかかわらず、たとえば、アクティビティのコンテキストに基づいて条件を設定して決定したい場合に、ひとつのオプションは操作に関連付けられている XamScheduleDataManager でイベントを接続することです。たとえば、ユーザーがその他のリソースのアクティビティを追加、削除または変更を実行できないようにするには、イベント引数のアクティビティをチェックすることによって、ActivityAdding、ActivityRemoving または ActivityChanging イベントをそれぞれキャンセルできます。

XAML の場合:

<ig:XamScheduleDataManager
    Name="DataManager"
    CurrentUserId="own1"
    DataConnector="{Binding ElementName=connector}">
    <ig:XamScheduleDataManager.Settings>
        <ig:ScheduleSettings AllowCalendarClosing=">
            <ig:ScheduleSettings.AppointmentSettings>
                <ig:AppointmentSettings
                    AllowDragging="WithinCalendar"
                    AllowRecurring="
                    AllowResizing="StartAndEnd"
                    AllowTimeZoneNeutral=" />
            </ig:ScheduleSettings.AppointmentSettings>
            <ig:ScheduleSettings.JournalSettings>
                <ig:JournalSettings
                    AllowAdd="
                    AllowRemove="
                    AllowEdit=" />
            </ig:ScheduleSettings.JournalSettings>
            <ig:ScheduleSettings.TaskSettings>
                <ig:TaskSettings
                    AllowRemove="
                    AllowTimeZoneNeutral="
                    AllowRecurring=" />
            </ig:ScheduleSettings.TaskSettings>
        </ig:ScheduleSettings>
    </ig:XamScheduleDataManager.Settings>
</ig:XamScheduleDataManager>

Visual Basic の場合:

Dim settings As New ScheduleSettings()
settings.AllowCalendarClosing = False
' 新しい AppointmentSettings を作成します
Dim appointmentSettings As New AppointmentSettings()
appointmentSettings.AllowDragging = _
    AllowActivityDragging.WithinCalendar
appointmentSettings.AllowRecurring = False
appointmentSettings.AllowResizing = _
    AllowActivityResizing.StartAndEnd
appointmentSettings.AllowTimeZoneNeutral = False
' ScheduleSettings の AppointmentSettings プロパティを設定します
settings.AppointmentSettings = appointmentSettings
' 新しい JournalSettings オブジェクトを作成します
Dim journalSettings As New JournalSettings()
journalSettings.AllowAdd = False
journalSettings.AllowRemove = False
journalSettings.AllowEdit = False
' ScheduleSettings の JournalSettings プロパティを設定します
settings.JournalSettings = journalSettings
' 新しい JournalSettings オブジェクトを作成します
Dim taskSettings As New TaskSettings()
taskSettings.AllowRemove = False
taskSettings.AllowTimeZoneNeutral = False
taskSettings.AllowRecurring = False
' ScheduleSettings の TaskSettings プロパティを設定します
settings.TaskSettings = taskSettings
' ScheduleSettings オブジェクトの Settings プロパティを設定します
_dataManager.Settings = settings

C# の場合:

ScheduleSettings settings = new ScheduleSettings();
settings.AllowCalendarClosing = false;
// 新しい AppointmentSettings を作成します
AppointmentSettings appointmentSettings =
    new AppointmentSettings();
appointmentSettings.AllowDragging =
    AllowActivityDragging.WithinCalendar;
appointmentSettings.AllowRecurring = false;
appointmentSettings.AllowResizing =
    AllowActivityResizing.StartAndEnd;
appointmentSettings.AllowTimeZoneNeutral = false;
// ScheduleSettings の AppointmentSettings プロパティを設定します
settings.AppointmentSettings = appointmentSettings;
// 新しい JournalSettings オブジェクトを作成します
JournalSettings journalSettings = new JournalSettings();
journalSettings.AllowAdd = false;
journalSettings.AllowRemove = false;
journalSettings.AllowEdit = false;
// ScheduleSettings の JournalSettings プロパティを設定します
settings.JournalSettings = journalSettings;
// 新しい JournalSettings オブジェクトを作成します
TaskSettings taskSettings = new TaskSettings();
taskSettings.AllowRemove = false;
taskSettings.AllowTimeZoneNeutral = false;
taskSettings.AllowRecurring = false;
// ScheduleSettings の TaskSettings プロパティを設定します
settings.TaskSettings = taskSettings;
// ScheduleSettings オブジェクトの Settings プロパティを設定します
_dataManager.Settings = settings;