【问题标题】:Highlight wpf calendar alternately交替突出显示 wpf 日历
【发布时间】:2018-02-22 19:35:56
【问题描述】:

当在 DatePicker 工具中选择一个日期或在 TextBox 中键入一个日期时, 如何在选定日期后每三个日期交替突出显示 wpf 日历单元格? (突出显示 3 个日期,未突出显示 3 个日期,这将继续......)。

我使用了此代码,但在 MontlyCalendar 上每 3 天选择一天:

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);
}

【问题讨论】:

    标签: c# wpf datepicker calendar


    【解决方案1】:

    希望能解决你的问题

     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;
            }
    
        }
    

    【讨论】:

    • 我需要像循环一样行动,因为它将持续大约两年(2020/01/01)。
    【解决方案2】:

    这是我的解决方案:

    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);
                }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      相关资源
      最近更新 更多