突出显示WinRT XAML Toolkit-日历控件中的多个日期

本文关键字:日期 控件 日历 显示 WinRT XAML Toolkit- | 更新日期: 2023-09-27 18:00:31

我正在编写一个Windows Phone 8.1(XAML)应用程序。我在其中使用了WinRT XAML Toolkit-日历控件。我想在此日历上显示突出显示的假日。节假日数据来自服务器(JSON):

for (int i = 0; i < ServerResponse.Holidays.Count; i++)
{
    string[] DateArray = ServerResponse.Holidays[i].ActivityDate.Split('-');    
    //Highlight Holidays in calendar
    ActivityCalender.SelectedDate = new DateTime(int.Parse(DateArray[2]), int.Parse(DateArray[1]), int.Parse(DateArray[0]));
}

XAML:

<WinRT:Calendar x:Name="ActivityCalender" 
    SelectedDatesChanged="ActivityCalender_SelectedDatesChanged">            
</WinRT:Calendar>

C#:

private void ActivityCalender_SelectedDatesChanged(object sender, SelectionChangedEventArgs e)
    {
    }

问题是,如果将一个项目添加到SelectedDate,则前一个项目将被删除。我检查了SelectionChangedEventArgs e。有1个AddedItems和1个RemovedItems。如果我添加另一个日期,为什么前一个日期会被删除?

突出显示WinRT XAML Toolkit-日历控件中的多个日期

private void ActivityCalender_SelectedDatesChanged(object sender, SelectionChangedEventArgs e)
{
    for (int i = 0; i < GetActivityResponseObject.Workouts.Count; i++)
    {
        string[] DateArray = GetActivityResponseObject.Workouts[i].ActivityDate.Split('-');
        ActivityCalender.SelectedDates.Add(new DateTime(int.Parse(DateArray[2]), int.Parse(DateArray[1]), int.Parse(DateArray[0])));
    }
}