<ig:Task
Id="t1"
OwningCalendarId="cal1"
OwningResourceId="own1"
Start="9/9/2010 9:12:00"
End="9/9/2010 11:42:00"
Subject="Appointment 1"
Description="My first Task in XAML"
PercentComplete="75"/>
Task エンティティは、XamSchedule コントロールがサポートするアクティビティ タイプのひとつです。予定エンティティに非常に似ていますが、ここで検討される違いがいくつかあります。
Task 作成は 2 つの状況で発生します。最初の状況では、開発者は XAML またはコードで Task エンティティを定義します。Task は PercentComplete プロパティがあるのに Location プロパティがないという点で Appointment と異なります。PercentComplete という名前が示すように、このプロパティはタスクのために作成された進捗状況を保存するためのものであり、整数値を想定します。
XAML の場合:
<ig:Task
Id="t1"
OwningCalendarId="cal1"
OwningResourceId="own1"
Start="9/9/2010 9:12:00"
End="9/9/2010 11:42:00"
Subject="Appointment 1"
Description="My first Task in XAML"
PercentComplete="75"/>
Visual Basic の場合:
Dim task = New Infragistics.Controls.Schedules.Task() With { _
Key .Id = "t1", _
Key .OwningCalendarId = "cal1", _
Key .OwningResourceId = "own1", _
Key .Start = New DateTime(2010, 9, 9).AddHours(9).AddMinutes(12).
ToUniversalTime(), _
Key .[End] = New DateTime(2010, 9, 9).AddHours(9).AddMinutes(42).
ToUniversalTime(), _
Key .Subject = "Task1 1", _
Key .Description = "My first Task in XAML", _
Key .PercentComplete = 75 _
}
C# の場合:
var task = new Infragistics.Controls.Schedules.Task
{
Id = "t1",
OwningCalendarId = "cal1",
OwningResourceId = "own1",
Start = new DateTime(2010,9,9).AddHours(9).AddMinutes(12).
ToUniversalTime(),
End = new DateTime(2010,9,9).AddHours(9).AddMinutes(42).
ToUniversalTime(),
Subject = "Task1 1",
Description = "My first Task in XAML",
PercentComplete = 75
};
注: タスクの開始時間/終了時間は UTC 時間として指定されます。詳細は、 「タイム ゾーンのサポート」を参照してください。
2 番目の状況では、カスタム エンティティからのデータは ListScheduleDataConnector の TaskItemsSource にバインドされており、Task Bindings が提供されます。その情報に基づいて、ListScheduleDataConnector は Task エンティティを作成し、 XamDataManager に渡します。
UI による作成は Task エンティティに許可されていません。これは Task と Appointment のもうひとつの違いです。
UI によって、エンド ユーザーは、ダイアログを使用するか、 Subject の「インプレース」編集で、Start/End プレースホルダーをドラッグするか、Task 全体をドラッグして、Task エンティティを変更することができます。アクティビティ ダイアログを介すか、アクティビティを選択して Delete キーを押して、アクティビティを削除する機能も提供されます。これらのケースでは、変更は UI から DataManager に渡されます。DataManager は DataConnector と通信し、変更はデータ ソースに適用されます。
注:
XamScheduleDataManager 上のカスタム DialogFactory を使用して、独自のアクティビティ編集ダイアログを得ることが可能です。
あらゆるその他の面で、Task と Appointment は機能と動作が似ています。