如何解决无法在iOS的Xamarin DatePicker上获得时间价值
我想同时使用日期和时间选择器。但是我无法从Xamarin DatePicker获取时间值,只是正确获取日期值即可。
CustomDatePicker.cs
public class CustomDatePickerRenderer : DatePickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<DatePicker> e)
{
base.OnElementChanged(e);
if(Control != null)
{
UITextField entry = Control;
UIDatePicker picker = (UIDatePicker)entry.InputView;
picker.PreferredDatePickerStyle = UIDatePickerStyle.Wheels;
picker.MinimumDate = Foundation.NSDate.Now;
picker.MaximumDate = Foundation.NSDate.Now.AddSeconds(172799);
picker.Mode = UIDatePickerMode.DateAndTime;
}
}
}
Xaml
<DatePicker x:Name="datePickerIOS" DateSelected="datePickerIOS_DateSelected" ></DatePicker>
Xaml.cs
private void datePickerIOS_DateSelected(System.Object sender,Xamarin.Forms.DateChangedEventArgs e)
{
var date = datePickerIOS.Date;
// This date's time value always return 12:00:00 AM
}
解决方法
使用DateSelected="datePickerIOS_DateSelected"
方法时,这是日期选择器的事件,您只能获得正确的日期。
您应该在customrenderer中获取正确的日期和时间,并将其返回到页面(可以使用MessagingCenter来实现)。
您可以参考此link。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。