我有一个
WPF application .net Framework
平台,在 Xaml Side
中,我更改了文化,如下所示:当我使用 DatePicker
时,当我单击 date selection button
时,它会正确显示波斯日历。但是,当我选择日期时,它会以波斯数字显示公历日期。当我单击页面顶部的年份选择日期时,它会显示波斯语的公历月份。然后,当我再次单击时,它会显示公历年份。我该怎么做才能解决这个问题?
当我在 Date Piker 中选择日期时,它也会转换为公历。它看起来像这样:
我为这个日期选择器编写的Xaml代码如下:
<DatePicker
Width="140" FlowDirection="RightToLeft"
BorderThickness="2" Margin="8" Language="fa-IR"
materialDesign:HintAssist.Hint="تاریخ پایان"
Style="{StaticResource MaterialDesignOutlinedDatePicker}" />
我想要的是能够将Datepicker中的月份和年份转换为Jalali日历,选择后,Jalali日期将显示在文本框中。
贾拉利历和公历的这种混乱可以解决吗?
如果您能在这方面帮助我,我将不胜感激。
我想要的是能够将Datepicker中的月份和年份转换为Jalali日历,选择后,Jalali日期将显示在文本框中。
在控件上设置文化(Language=)是否有原因?如果您在 App.xaml.cs 的构造函数中设置整个应用程序的 UI 区域性,会发生什么:
cultureInfo = new CultureInfo("fa-IR");
CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
Thread.CurrentThread.CurrentUICulture = cultureInfo;
您可能还需要设置非 UI 区域性:
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
Thread.CurrentThread.CurrentCulture = cultureInfo;
这能解决问题吗?也许 DatePicker 控件存在错误,Language="" 属性仅影响日历弹出窗口,但不影响文本框。