时间选择器标签以印地语而不是英语显示所选时间 AM/PM。
但它在选择器部分以英文显示
可以看出。
设备语言英语和
设备区域 印度
我知道这是“this”问题的重复,但没有答案,但有一个类似“问题”的链接。但使用此解决方案仍然没有任何变化。
由于我的声誉点,我无法在该问题中添加评论来澄清:(
这是 TimePicker xaml 片段:
<TimePicker Margin="10,0,0,0" Grid.Column="0" x:Name="startTimePicker" Format="hh:mm tt"
PropertyChanged="OnTimePickerPropertyChanged" FontSize="Small"
Focused="startTimePicker_Focused"
Unfocused="startTimePicker_Unfocused"
/>
以及我根据第二个答案的 CustomRenderer 实现:
[assembly:ExportRenderer(typeof(TimePicker),typeof(CustomTimePicker))]
namespace TP_PlusTwo.iOS.CustomRenderers
{
public class CustomTimePicker:TimePickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<TimePicker> e)
{
base.OnElementChanged(e);
if(Control != null)
{
Control.TextColor = UIKit.UIColor.Red;//Testing
var picker = Control.InputView as UIDatePicker;
picker.Mode = UIDatePickerMode.Time
picker.Locale = new Foundation.NSLocale("en_US");//Chat-GPT
//picker.Locale = new Foundation.NSLocale("us");//StackOverflow
}
}
}
}
我也尝试过改变其他人的语言,但没有成功。 仅当我将设备区域从印度更改为美国时,标签才开始显示正确的 AM/PM(CUstom 渲染器中的区域设置仍然不起作用)。
将其添加到 Xamarin 表单共享项目的 App.xaml.cs 中
此代码将在您的应用程序中全局设置区域性,并避免日期时间选择或解析中的任何混乱。