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

时间:2015-08-03 06:26:13

标签: c# xamarin.forms

这可能是我的设置或其他内容的顺序,但是我尝试了多种方式,并在功能完成之前验证了属性。

但是,当我尝试以下操作时: -

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日

然后我将月份更改为7月,然后点击勾选。然后显示 2015年7月3日,这显然小于我的最低日期。我没有通过' DateSelected'提出任何活动。但它确实改变了我选择的日期的用户界面。

如果我将月份更改为6月,则不会引发任何事件,但显示屏显示 2015年6月3日

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

如果我再将月份更改为6月,我会举办活动,显示屏会显示 2015年8月3日,这是我的最低日期。

我似乎也无法捕获DateSelected属性更改,因为似乎没有触发UI更新以尝试以另一种方式处理此方案。

有没有办法让这个控件正常运行?我使用Xamarin.Forms 1.4.2

1 个答案:

答案 0 :(得分:0)

请升级到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