diff --git a/components/core/Base/AntInputComponentBase.cs b/components/core/Base/AntInputComponentBase.cs index 43064e7e9f..1211f21576 100644 --- a/components/core/Base/AntInputComponentBase.cs +++ b/components/core/Base/AntInputComponentBase.cs @@ -94,7 +94,7 @@ public virtual TValue Value public string Size { get; set; } = AntSizeLDSType.Default; [Parameter] - public CultureInfo CultureInfo { get; set; } = CultureInfo.CurrentCulture; + public virtual CultureInfo CultureInfo { get; set; } = CultureInfo.CurrentCulture; /// /// Gets the associated . diff --git a/components/date-picker/internal/DatePickerBase.cs b/components/date-picker/internal/DatePickerBase.cs index f7d87aa362..c2e4b3dffa 100644 --- a/components/date-picker/internal/DatePickerBase.cs +++ b/components/date-picker/internal/DatePickerBase.cs @@ -96,13 +96,19 @@ public DatePickerLocale Locale } [Parameter] - public CultureInfo CultureInfo + public override CultureInfo CultureInfo { - get { return _cultureInfo; } + get + { + return base.CultureInfo; + } set { - _cultureInfo = value; - _isCultureSetOutside = true; + if (!_isLocaleSetOutside && base.CultureInfo != value && base.CultureInfo.Name != value.Name) + { + _locale = LocaleProvider.GetLocale(value.Name).DatePicker; + } + base.CultureInfo = value; } } @@ -240,9 +246,7 @@ protected DatePickerStatus[] _pickerStatus protected bool _isClose = true; protected bool _needRefresh; protected bool _duringManualInput; - private bool _isCultureSetOutside; private bool _isLocaleSetOutside; - private CultureInfo _cultureInfo = LocaleProvider.CurrentLocale.CurrentCulture; private DatePickerLocale _locale = LocaleProvider.CurrentLocale.DatePicker; protected bool _openingOverlay; @@ -405,9 +409,6 @@ protected virtual async Task OnBlur(int index) protected void InitPicker(string picker) { - if (_isCultureSetOutside && !_isLocaleSetOutside) - Locale = LocaleProvider.GetLocale(_cultureInfo.Name).DatePicker; - if (string.IsNullOrEmpty(_pickerStatus[0]._initPicker)) { _pickerStatus[0]._initPicker = picker;