jalali 日期选择器 Material Design WPF C#

问题描述 投票:0回答:1

我有一个

WPF application .net Framework
平台,在
Xaml Side
中,我更改了文化,如下所示:当我使用
DatePicker
时,当我单击
date selection button
时,它会正确显示波斯日历。但是,当我选择日期时,它会以波斯数字显示公历日期。当我单击页面顶部的年份选择日期时,它会显示波斯语的公历月份。然后,当我再次单击时,它会显示公历年份。我该怎么做才能解决这个问题?

How it Looks Like The Date Picker

当我在 Date Piker 中选择日期时,它也会转换为公历。它看起来像这样:
enter image description here

我为这个日期选择器编写的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日期将显示在文本框中。

c# wpf xaml datepicker material-design-in-xaml
1个回答
0
投票

在控件上设置文化(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="" 属性仅影响日历弹出窗口,但不影响文本框。

© www.soinside.com 2019 - 2024. All rights reserved.