1

このコードを使用して単一の予定を正常に追加しました。単一のループで複数の予定をプログラムで追加したい.たとえば、すべての予定の日付がリストで利用できるループを使用して、一度に5つの予定を追加したい 前もって感謝します :)

SaveAppointmentTask saveAppointmentTask = new SaveAppointmentTask();          
saveAppointmentTask.StartTime = nearestDate;

saveAppointmentTask.EndTime = nearestDate.AddMinutes(3) ;

saveAppointmentTask.Subject = "Meet Ali"; // appointment subject

saveAppointmentTask.Location = "In Office"; // appointment location

saveAppointmentTask.Details = "Meet Ali to discuss product launch";//appointment details
saveAppointmentTask.IsAllDayEvent = false;
saveAppointmentTask.Reminder = Microsoft.Phone.Tasks.Reminder.FifteenMinutes;
saveAppointmentTask.AppointmentStatus = Microsoft.Phone.UserData.AppointmentStatus.OutOfOffice;
saveAppointmentTask.Show();
4

2 に答える 2

1

このコードを Navigated To イベントとして使用すると、ページにアクセスしたときに常に呼び出されます

private SaveAppointmentTask saveAppointmentTask;
    private List<int> listMinutes = new List<int>();
    // Constructor
    public MainPage()
    {
        InitializeComponent();

        for (int i = 0; i < 10; i++) {
            listMinutes.Add(i);
        }

    }

    int countAdded = 0;
    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {

        if (countAdded < 10)
        {

            saveAppointmentTask = new SaveAppointmentTask();
            saveAppointmentTask.StartTime = DateTime.Now.AddMinutes(listMinutes[countAdded]);

            saveAppointmentTask.EndTime = saveAppointmentTask.StartTime.Value.AddMinutes(2);

            saveAppointmentTask.Subject = "Meet Ali"; // appointment subject

            saveAppointmentTask.Location = "In Office"; // appointment location

            saveAppointmentTask.Details = "Meet Ali to discuss product launch";//appointment details
            saveAppointmentTask.IsAllDayEvent = false;
            saveAppointmentTask.Reminder = Microsoft.Phone.Tasks.Reminder.FifteenMinutes;
            saveAppointmentTask.AppointmentStatus = Microsoft.Phone.UserData.AppointmentStatus.OutOfOffice;
            countAdded++;
            saveAppointmentTask.Show();
        }
        else { 
            // do not add anything
        }


    }

イベントを追加したかどうかを知ることができるように、アプリケーションの状態またはトークンのカウントである i を保存します:)Appplication.Current.Resources.Add("token", "number added")

ありがとう

于 2013-09-13T07:19:12.183 に答える
1

すべての予定を自動的に保存することはできません。繰り返しごとにタスクを起動する必要があり、ユーザーの操作は毎回必要になります。

可能なオプションは、を使用することLive Connect APIです。これにより、ユーザーの Live カレンダーにプログラムで予定を作成できます。

カレンダーの操作 (Live Connect API)

この方法では、電話のカレンダーを操作するのではなく、電話で同期できるユーザーのライブ カレンダーを操作します。もちろん、ユーザーは認証する必要があります。

于 2013-09-13T06:54:17.900 に答える