【问题标题】:Automatically Get Complete Date dd/mm/YYYY from ddMM自动从 ddMM 获取完整日期 dd/mm/YYYY
【发布时间】:2020-01-06 07:14:41
【问题描述】:

我们的日期格式是 DD/MM/YYYY。如果用户只输入日期和月份,则应用程序应自动选择当前年份。例如:如果用户输入 0104,那么应用程序应该得到 01/04/2020。需要根据日期自动获取年份

如果用户在 DatePicker ddmm(ex.0401) 上选择 Date,则应自动获取 dd/mm/yyyy 格式的 Date(ex.04/01/2020)

<DatePicker
            Grid.Column="3"
            x:Name="FinancialYear"
            HorizontalAlignment="Left" 
            Margin="74,317,0,0"
            VerticalAlignment="Top"
            SelectedDate="{Binding FinancialYear,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,StringFormat='dd/MM/yyyy',ValidatesOnDataErrors=False}"
            Uid="none" Width="151"
            PreviewKeyDown="FinancialYear_PreviewKeyDown">
</DatePicker>

【问题讨论】:

  • 您为此设置了字符串格式StringFormat='dd/MM/yyyy'
  • 我只有类型 ddmm(ex.0401) 日期选择器自动获取字符串格式 dd/mm/yyyy(ex.04/01/2020)
  • 欢迎来到 SO!你背后的 C# 代码是什么样的?你能分享那个代码吗

标签: wpf xamarin mvvm wpf-controls mvvm-light


【解决方案1】:

尝试将绑定到DatePickerTextBoxText 属性的StringFormat 设置为您想要的任何格式。这对我来说很好用:

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

【讨论】:

  • 我认为你没有理解我的问题。我们的日期格式是 DD/MM/YYYY 。如果我只输入日期和月份,那么它应该必须自动选择当前年份。例如:- 如果我输入 0104,那么它应该必须得到 01/04/2020。需要根据日期自动获取年份
  • 所以您只接受一种输入格式 (?) 但您想要另一种显示格式?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 2012-12-09
  • 2021-10-16
相关资源
最近更新 更多