简体   繁体   English

交替突出显示WPF日历

[英]Highlight wpf calendar alternately

When a date is selected in DatePicker tool or type one date in TextBox, how do highlight wpf calendar cells every three dates after selected date alternately? 在DatePicker工具中选择一个日期或在TextBox中键入一个日期时,如何在所选日期之后每三个日期交替突出显示wpf日历单元格? (3 dates highlight, 3 dates not highlight and this continues..). (突出显示3个日期,不突出显示3个日期,然后继续。)

I used this code, but intervals select one day every 3 days on MontlyCalendar: 我使用了此代码,但是间隔每3天在MontlyCalendar上选择一天:

DateTime a = new DateTime();
a = DateTime.Parse(myDatePicker1.Text);

DateTime h = new DateTime();
h = DateTime.Parse(myDatePicker2.Text);

for (DateTime f = a; f < h; f=f.AddDays(3))
{
    MonthlyCalendar.SelectedDates.Add(f);
}

I hope this solves your problem 我希望这可以解决您的问题

 private int cant = 0;

 private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
 {
        if (cant < 3)
        {
            //highlight
            cant++;
        }
        else if (cant < 6)
        {
            //not highlight
            cant++;
        }
        else
        {
            cant = 0;
        }

    }

This is my solution: 这是我的解决方案:

private void btnClick2_Click(object sender, RoutedEventArgs e)
        {
    string dateString1, dateString2, format;
    CultureInfo provider = CultureInfo.InvariantCulture;
            DateTime t = DateTime.Parse(datePicker1.Text);
            DateTime End = DateTime.Parse(datePicker2.Text);
            DateTime g = t.AddDays(6);
            TimeSpan ts = (g - t);

            for (DateTime i = t; i <= End; i += ts)
            {
                DateTime r = i.AddDays(2);    
                dateString1 = i.ToString("MM/dd/yyyy");
                dateString2 = r.ToString("MM/dd/yyyy");
                format = "d";
                DateTime a = DateTime.ParseExact(dateString1, format, provider);
                DateTime b = DateTime.ParseExact(dateString2, format, provider);
                myCalendar.SelectedDates.AddRange(a, b);
            }
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM