public void CreatePopupList() { if (DateRule == "") //如果是空白,默认选中今天,啥也不限制 { AyCalendar ac = new AyCalendar(); ac.BorderBrush = Brushes.Transparent; ac.MinDateReferToElement = this.MinDateReferToElement; ac.MaxDateReferToElement = this.MaxDateReferToElement; ac.DateBoxInput = this; //ac.DisabledDatesStrings = this.DisabledDatesStrings; ac.HorizontalAlignment = HorizontalAlignment.Center; ac.VerticalAlignment = VerticalAlignment.Center; ac.SelectMode = AyDatePickerSelectMode.OnlySelectDate; if (!this.Text.IsNullAndTrimAndEmpty()) { DateTime?date = ReverseDateTimeFromText(ac); if (date.HasValue) { ac.SelectedDateTime = date; } } RootGrid.Children.Add(ac); } else { if (DateRuleObjects.IsNotNull()) { _fmt = AyCalendarService.GetAyCalendarFMT(DateRuleObjects.dateFmt); switch (_fmt) { case AyCalendarFMT.None: break; default: AyCalendar ac = CreateAyCalendar(); RootGrid.Children.Add(ac); break; } } } }
internal static Tuple <List <DateTime?>, List <DateTime?> > FilterDatePickerItem(AyDateRuleJsonToObjects DateRuleObjects, AyDateBoxCalendar MinDateReferToElement, AyDateBoxCalendar MaxDateReferToElement) { List <DateTime?> MinDateCopy = new List <DateTime?>(); List <DateTime?> MaxDateCopy = new List <DateTime?>(); if (DateRuleObjects.IsNotNull()) { //AyCalendarFMT _fmt = GetAyCalendarFMT(DateRuleObjects.dateFmt); if (!DateRuleObjects.minDate.IsNullAndTrimAndEmpty()) { //是否含有#F{ } if (DateRuleObjects.minDate.IndexOf(@"#F{") == 0) { if (DateRuleObjects.minDate.IndexOf("ay") > -1) //使用了绑定 { if (MinDateReferToElement.IsNotNull()) { string _text = MinDateReferToElement.Text; string _dateRule = MinDateReferToElement.DateRule; var ddo = AyJsonUtility.DecodeObject2 <AyDateRuleJsonToObjects>(_dateRule); if (ddo.IsNotNull()) { MinDateCopy = AyDateStrictExpression.ConvertDDVF(_text, DateRuleObjects.minDate, ddo.dateFmt); } else { MinDateCopy = AyDateStrictExpression.ConvertDDVF(_text, DateRuleObjects.minDate, "yyyy-MM-dd"); } } } else { MinDateCopy = AyDateStrictExpression.ConvertDDVF(null, DateRuleObjects.minDate, null); } } else { MinDateCopy.Add(AyDateStrictExpression.Convert(DateRuleObjects.minDate)); } } if (!DateRuleObjects.maxDate.IsNullAndTrimAndEmpty()) { //是否含有#F{ } if (DateRuleObjects.maxDate.IndexOf(@"#F{") == 0) { if (DateRuleObjects.maxDate.IndexOf("ay") > -1) //使用了绑定 { if (MaxDateReferToElement.IsNotNull()) { string _text = MaxDateReferToElement.Text; string _dateRule = MaxDateReferToElement.DateRule; var ddo = AyJsonUtility.DecodeObject2 <AyDateRuleJsonToObjects>(_dateRule); if (ddo.IsNotNull()) { MaxDateCopy = AyDateStrictExpression.ConvertDDVF(_text, DateRuleObjects.maxDate, ddo.dateFmt); } else { MaxDateCopy = AyDateStrictExpression.ConvertDDVF(_text, DateRuleObjects.maxDate, "yyyy-MM-dd"); } } } else { MaxDateCopy = AyDateStrictExpression.ConvertDDVF(null, DateRuleObjects.maxDate, null); } } else { MaxDateCopy.Add(AyDateStrictExpression.Convert(DateRuleObjects.maxDate)); } } } return(Tuple.Create <List <DateTime?>, List <DateTime?> >(MinDateCopy, MaxDateCopy)); }