[UWP][カレンダー] 予定を追加する(2)

前回は、説明を簡単にするため、基本的な予定の追加方法について説明をしました。

今回は、もう少し情報を追加してみましょう。

まずはじめに、予定の終了時間を設定してみましょう(前回は開始日時のみ設定しています)。

AppointmentクラスにはStartTimeプロパティがあるので、開始日時が追加できることはなんとなくわかります。しかしEndTimeというプロパティはありません。

では、どのように設定するのかと言うと、Durationプロパティを使用します。このプロパティにはTimeSpan構造体の値を設定します。

Durationプロパティを使用する前に、StartTImeプロパティにタイムゾーンを設定しておく必要があります。

以下に、2016/6/20 9:00~10:00に予定を設定するコードを示します。

private async void btnAdd_Click(object sender, RoutedEventArgs e)
{
    var appointment = new Windows.ApplicationModel.Appointments.Appointment();
    // 予定のタイトル
    appointment.Subject = "家の片付け";
    // 予定の詳細
    appointment.Details = "リビングとキッチンの床ふき";
    // 予定の開始日時
    //appointment.StartTime = new DateTimeOffset(new DateTime(2016, 06, 20, 9, 0, 0));

	// タイムゾーンの取得
    var timeZoneOffset = TimeZoneInfo.Local.GetUtcOffset(DateTime.Now);
    var startTime = new DateTimeOffset(2016, 06, 20, 9, 0, 0, 0, timeZoneOffset);
    appointment.StartTime = startTime;
    //予定の終了日時を1時間後に設定する
    appointment.Duration = TimeSpan.FromHours(1);


    // 予定を追加してIDを取得する
    this._id = await Windows.ApplicationModel.Appointments.AppointmentManager.ShowAddAppointmentAsync(appointment, Rect.Empty);
}

また、予定を実行する場所はLoationプロパティで設定します。このプロパティはstring型なので以下のようにして追加することが可能です。

appointment.Location = "自宅";

最後にリマインダー(アラーム)の設定について見てみましょう。リマインダーの設定はReminderプロパティで設定します。 30分で設定する場合は以下のようにします

 

appointment.Reminder = TimeSpan.FromMinutes(30);

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください