【问题标题】:Datepicker Output Format Datagrid wpfDatepicker 输出格式 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>

【问题讨论】:

    标签: wpf xaml datagrid


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 2010-12-16
      相关资源
      最近更新 更多