1

I try to get a simple Format like this "01.01.1999" - but allways, after end Edit the result (visual and real) value is "01/01/1999 12:00:00 AM") It looks like, that the "StringFormat='dd MM yyyy'" is ignored. How can i fix this?

 <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>

user3600403
  • 339
  • 1
  • 2
  • 18

2 Answers2

1

Did you try this?:

<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>

...or any of the other suggestions from here?:

Changing the string format of the WPF DatePicker

Community
  • 1
  • 1
mm8
  • 163,881
  • 10
  • 57
  • 88
  • Thank you, i tried it before .. same - By using "SelectedDateFormat" i can set the format with "StringFormat='dd MMM yyyy'" but it is only shown in Edit mode – user3600403 Jan 24 '17 at 14:16
-1

The Solution was very easy:

i changed my "von" from "String" to "DateTime"

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

finally this worked for me:

<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>
user3600403
  • 339
  • 1
  • 2
  • 18