Xamarin.Forms iOS 中的 DateTimePicker
DateTimePicker in Xamarin.Forms iOS
我正在使用 Xamarin Forms 创建一个应用程序,我想在 iOS 中实现这样的日期时间选择器
https://developer.apple.com/documentation/uikit/uidatepicker
我找到了如何实现 TimePicker 或 DatePicker,但不是全部。有什么办法可以将它添加到 Xamarin Forms 中吗?
有什么方法可以在 Xamarin Forms 中创建它吗?
<DatePicker
x:Name="inicioDatePicker"
Format="D"
DateSelected="OnDateSelected"
Date="{Binding InicioDatePicker}"/>
谢谢。问候
你应该在Picker的值changed.Refer时添加Event,如下代码
//...
using ObjCRuntime;
//...
protected override void OnElementChanged(ElementChangedEventArgs<DatePicker> e)
{
base.OnElementChanged(e);
if (Control != null)
{
UIDatePicker dateTimePicker = (UIDatePicker)Control.InputView;
dateTimePicker.Mode = UIDatePickerMode.DateAndTime;
dateTimePicker.AddTarget(this, new Selector("DateChanged:"), UIControlEvent.ValueChanged);
NSDateFormatter dateFormat = new NSDateFormatter();
dateFormat.DateFormat = "dd/MM/yyyy HH:mm";
var text = (UITextField)Control;
text.Text = dateFormat.ToString(dateTimePicker.Date);
}
}
[Export("DateChanged:")]
public void DateChanged(UIDatePicker picker)
{
NSDateFormatter dateFormat = new NSDateFormatter();
dateFormat.DateFormat = "dd/MM/yyyy HH:mm";
var text = (UITextField)Control;
text.Text = dateFormat.ToString(picker.Date);
}
我正在使用 Xamarin Forms 创建一个应用程序,我想在 iOS
我找到了如何实现 TimePicker 或 DatePicker,但不是全部。有什么办法可以将它添加到 Xamarin Forms 中吗? 有什么方法可以在 Xamarin Forms 中创建它吗?
<DatePicker
x:Name="inicioDatePicker"
Format="D"
DateSelected="OnDateSelected"
Date="{Binding InicioDatePicker}"/>
谢谢。问候
你应该在Picker的值changed.Refer时添加Event,如下代码
//...
using ObjCRuntime;
//...
protected override void OnElementChanged(ElementChangedEventArgs<DatePicker> e)
{
base.OnElementChanged(e);
if (Control != null)
{
UIDatePicker dateTimePicker = (UIDatePicker)Control.InputView;
dateTimePicker.Mode = UIDatePickerMode.DateAndTime;
dateTimePicker.AddTarget(this, new Selector("DateChanged:"), UIControlEvent.ValueChanged);
NSDateFormatter dateFormat = new NSDateFormatter();
dateFormat.DateFormat = "dd/MM/yyyy HH:mm";
var text = (UITextField)Control;
text.Text = dateFormat.ToString(dateTimePicker.Date);
}
}
[Export("DateChanged:")]
public void DateChanged(UIDatePicker picker)
{
NSDateFormatter dateFormat = new NSDateFormatter();
dateFormat.DateFormat = "dd/MM/yyyy HH:mm";
var text = (UITextField)Control;
text.Text = dateFormat.ToString(picker.Date);
}