首页 > 解决方案 > 如何在没有日期名称的情况下在 DatePicker 中写入日期?

问题描述

我在 WPF 应用程序中使用 DatePicker,我正在尝试获取带有阿拉伯语月份名称且没有日期名称的日期。

我正在关注 DatePicker链接的文档

例如(来自文档链接的图片):

在此处输入图像描述

我想写没有“星期一”的日期,我更喜欢用阿拉伯语,

Xaml 代码:

<DatePicker SelectedDateFormat="Long" x:Name="EnteringDate" Foreground="White" Background="Transparent" Height="30" FlowDirection="RightToLeft" BorderBrush="White"/>

在此处输入图像描述

所需的输出:

在此处输入图像描述

我尝试过的,StackOverflow 中的解决方案,但它对我不起作用:

<DatePicker SelectedDateFormat="Long" x:Name="EnteringDate" Foreground="White" Background="Transparent" Height="30" FlowDirection="RightToLeft" BorderBrush="White">  <DatePicker.Resources>
        <Style TargetType="{x:Type DatePickerTextBox}">
            <Setter Property="Control.Template">
                <Setter.Value>
                    <ControlTemplate>
                        <TextBox x:Name="PART_TextBox"
                                         Language="ar-EG"
                                         Text="{Binding Path=SelectedDate, StringFormat='yyyy MMM dd', 
                                    RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </DatePicker.Resources>
</DatePicker>

标签: c#wpfxamldatepicker

解决方案


尝试这样的事情,即将 的 设置LanguageDatePicker某种阿拉伯文化,然后可以选择使用隐式DatePickerTextBox样式更改格式:

<DatePicker Language="ar-EG">
    <DatePicker.Resources>
        <Style TargetType="{x:Type DatePickerTextBox}">
            <Setter Property="Control.Template">
                <Setter.Value>
                    <ControlTemplate>
                        <TextBox x:Name="PART_TextBox" Text="{Binding Path=SelectedDate, StringFormat='yyyy MMM dd', 
                                    RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </DatePicker.Resources>
</DatePicker>

推荐阅读