我正在開發一個支持各種語言/文化的應用程式。但是,DatePicker 控制元件對于泰國文化來說似乎有問題:

我嘗試應用 ThreadCulture 使用(也嘗試過 CultureInfo.CurrentCulture 或 CultureInfo.CurrentUICulture):
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture
和應用 ThaiBuddhhistCalendar:
_ = new System.Globalization.ThaiBuddhistCalendar();
但小部件年份始終顯示為 2021 而不是 2564。
任何解決問題的提示都會非常有幫助。
uj5u.com熱心網友回復:
您可以按照以下步驟操作。
更改選擇器的年份范圍。默認值從 1900 到 2100。您可以在 Xaml 中的 Xamarin.Forms DatePicker 中進行設定。
<DatePicker MaximumDate="12/31/2600"></DatePicker>當您設定 時
ThaiBuddhistCalendar,DataPicker 將在測驗中顯示 2564 年的默認日期時間。但是當您打開對話框時,您需要在自定義渲染器中更改年份。DatePickerDialog pickerDialog; private Xamarin.Forms.DatePicker datePicker; protected override DatePickerDialog CreateDatePickerDialog(int year, int month, int day) { pickerDialog = new DatePickerDialog(Context, (o, e) => { datePicker.Date = e.Date.AddYears(-543); ((IElementController)datePicker).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false); }, year 543, month, day); return pickerDialog; }關于 DatePicker 的自定義渲染器的更多詳細資訊,您可以查看我之前完成的代碼。如何更改 Xamarin 表單中的 DatePicker Ok 和 Cancel 按鈕文本?
我們只能在截圖的粉紅色部分將年份更改為 2564。中間的黑色2021,由于原生默認值,我們無法第一時間更改默認值。但是當我們再次選擇2564時,黑色的2021就可以了。
private static final int DEFAULT_START_YEAR = 1900;
private static final int DEFAULT_END_YEAR = 2100;
Xamarin.Android 只是 Android 原生庫的一層包裝,沒有額外的操作,你可以轉向報告錯誤 | Android 開源專案尋求幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/371645.html
標籤:沙马林 xamarin.forms 安卓系统 日期选择器
下一篇:Xamarin計時器崩潰
