エラー情報は XamScheduleDataManager から送信され、 DataErrorInfo クラスを介して開発者に通信されます。
この DataErrorInfo オブジェクトは以下のプロパティを公開します。
DataErrorInfo オブジェクトは以下によって公開されます。
XamScheduleDataManager の Error イベント引数。このイベントは、エラーに遭遇した時に必ず発生します。注: デフォルトでは、デバッガーが添付されていれば、すべてのエラーはデバッガーに記録されます。イベント引数の LogError プロパティを False に設定することでこれを抑制できます。
XamScheduleDataManager の ErrorDisplaying イベント引数。このイベントは、 Warning、 Error または SevereError に遭遇した時に必ず発生します。このイベントは、 Cancel プロパティを True に設定することでキャンセルできます。このイベント引数は、以下の値を伴う DisplayType という名前の読み取り専用プロパティを公開します。
ActivityErrorIcon - これは、ユーザーのアクションによって直接起動しなかったアクティビティ固有のエラーです。キャンセルしなければ、エラー アイコンを表示するためにこのアクティビティを表す ActivityPresenters が発生します。ツールチップには、UserErrorText も含まれます。
MessageBox - このエラーは、エンドユーザーのアクションによって起動されました。たとえば、予定の編集や変更の保存などです。キャンセルしなければ、これはユーザーに MessageBox が表示されるという結果となります。
BlockingError - "SevereError" に遭遇しました。キャンセルしなければ、xamDayView、xamMonthView および xamScheduleView のすべての関連付けられたビュー コントロールの BlockingError プロパティを設定します。これらのコントロールのテンプレートは、ユーザーにブロック エラー情報を示す半透明のオーバーレイ要素を含み、ランタイムにコントロールが動作しないようにします。デザイン モードでは、ブロック エラーは表示されません。ランタイムでの重大なエラーまたはブロック エラーの例は以下のとおりです。
ビュー コントロールの DataManager プロパティは設定されません。これは Error イベントが発生できない時だけです。これを発生させる XamScheduleDataManager はないからです。ただし、BlockingError プロパティが設定され、その結果、オーバーレイが表示されます。
ローカル タイム ゾーンは、100% の確実性で決定できません。フレームワークはこの情報を公開しないので、これは通常 Silverlight に限り問題となります。ローカル時間と UTC 時間の間で日付/時間変換を実行することで推定する必要があります。デフォルトでは、この条件は、エンドユーザーにタイム ゾーン選択ダイアログを表示するという結果になります。ただし、xamScheduleDataManager の PromptForLocalTimeZone プロパティが Never に設定され、データ コネクターの TimeZoneProviderResolved. LocalTimeZoneId が設定されていない場合、ブロック エラーは、 ErrorDisplaying イベントがキャンセルされない限り表示されます。
xamScheduleDataManager の DataConnector プロパティは ListScheduleDataConnector または WcfListScheduleDataConnector に設定され、最小限要求されるプロパティ マッピングは指定されません。
xamScheduledataManager の BeginEdit、BeginEditWithCopy、CancelEdit、および CreateNew メソッドは、"out" パラメーターとして DataErrorInfo オブジェクトを返すことができます。
OperationResult クラスは、 DataErrorInfo タイプの Error プロパティを公開します。これは以下の基本クラスです。
ActivityOperationResult - このオブジェクトは、xamScheduleDataManager の EndEdit および Remove メソッドによって返されます。
ActivityQueryResult - このオブジェクトは、xamScheduleDataManager の GetActivities メソッドによって返されます。
CancelOperationResult - このオブジェクトは、xamScheduleDataManager の CancelPendingOperation メソッドによって返されます。
注: XamScheduleDataManager はまた、 HasPendingOperations プロパティと、まだ完了していない (つまり IsComplete プロパティが false の) OperationResults を含む読み取り専用の PendingOperations コレクションを公開します。"IsComplete" または "IsCanceled" プロパティが True に変更されると、OperationResult は PropertyChanged イベントを発生します。