Datepicker 输出格式 Datagrid wpf

Posted

技术标签:

【中文标题】Datepicker 输出格式 Datagrid wpf【英文标题】:Datepicker Output Format Datagrid wpf 【发布时间】:2017-06-08 06:10:32 【问题描述】:

我尝试获得一个像“01.01.1999”这样的简单格式 - 但总是在结束后编辑结果(视觉和真实)值是“01/01/1999 12:00:00 AM”)看起来像,即忽略“StringFormat='dd MM yyyy'”。我该如何解决这个问题?

 <DataGridTemplateColumn Header="von">
<DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock  Text="Binding=von, StringFormat='dd MM yyyy'"/>
                            </DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
    <DataTemplate>
                                <DatePicker  SelectedDate="Binding von, StringFormat='dd MM yyyy'"/>
    </DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>

【问题讨论】:

【参考方案1】:

你试过了吗?:

<DatePicker  SelectedDate="Binding von">
    <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 yyyy', 
                                    RelativeSource=RelativeSource AncestorType=x:Type DatePicker" />
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </DatePicker.Resources>
</DatePicker>

...或这里的任何其他建议?:

Changing the string format of the WPF DatePicker

【讨论】:

谢谢,我之前试过.. 同样 - 通过使用“SelectedDateFormat”,我可以使用“StringFormat='dd MMM yyyy'”设置格式,但它只在编辑模式下显示【参考方案2】:

解决方案非常简单:

我将“von”从“String”更改为“DateTime”

public DateTime von  get; set;  = DateTime.Now;

最后这对我有用:

<DataGridTemplateColumn Header="von">
<DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock  Text="Binding von, StringFormat='dd MM yyyy'"/>
                            </DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
    <DataTemplate>
                                <DatePicker SelectedDate="Binding von"/>

                            </DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>

【讨论】:

以上是关于Datepicker 输出格式 Datagrid wpf的主要内容,如果未能解决你的问题,请参考以下文章

使用 TextBox 和 DatePicker 元素过滤 WPF DataGrid 行

jQueryUI中Datepicker(日历)插件使用

Angular Datepicker更改日期格式

WPF 格式化输出- IValueConverter接口的使用 datagrid列中的值转换显示

用的是jquery.datePicker.js 如何将日期格式改为yyyy-mm-dd

jQuery Datepicker日期控件