Xamarin.Forms DatePicker在WindowsPhone上不尊重最小值/最大值

本文关键字:最小值 最大值 Forms DatePicker WindowsPhone Xamarin | 更新日期: 2023-09-27 18:06:13

这可能是我的属性设置顺序或其他什么,但我已经尝试了多种方法,并在函数完成之前验证了属性。

然而,当我尝试以下操作时:-

DatePicker datePicker1 = new DatePicker();
datePicker1.MinimumDate = DateTime.Now.Date;
datePicker1.MaximumDate = DateTime.Now.Date.Add(new TimeSpan(7,0,0,0));
datePicker1.Date = DateTime.Now.Date;
datePicker1.Format = "MMM dd, yyyy";

WindowsPhone上,当我测试它时,我仍然可以选择一个早于我设置的最小和最大日期值的日期。

事实上,在向DateSelected添加事件侦听器的进一步测试中,我注意到这个控件做了各种奇怪的事情:-

因此,我最初跑步的日期是:2015年8月3日

然后我把月份改为七月,然后点击勾号。然后显示2015年7月3日,这显然比我的最短日期要短。我没有通过"DateSelected"引发任何事件,但它确实会根据我选择的日期更改UI。

如果我将月份更改为6月,则不会引发任何事件,但显示Jun 032015

如果我将月份更改为十月,我会收到一个事件,并且显示2015年8月10日这是我的最长日期,所以这很好。

如果我再次将月份更改为6月,我会收到一个事件,并且显示2015年8月3日,这是我的最短日期。

我似乎也无法捕获DateSelected属性的更改,因为似乎没有在UI更新时触发它来尝试以另一种方式处理这种情况。

有什么方法可以让这个控件正常运行吗?我正在使用Xamarin.Forms 1.4.2

Xamarin.Forms DatePicker在WindowsPhone上不尊重最小值/最大值

请升级到1.4.4。

Xamarin Forms 1.4.3在Android和WinPhone中对DatePicker的错误修复进行了许多更新,但最好一路升级,因为1.4.4也修复了许多其他问题。

1.4.3中修复的日期选择器问题是

https://bugzilla.xamarin.com/show_bug.cgi?id=27537

https://bugzilla.xamarin.com/show_bug.cgi?id=28424