2017-01-23 91 views
1

我尝试获得一个像这样的简单格式“01.01.1999” - 但总之,在结束后编辑结果(视觉和实际)值为“01/01/1999 12:00:00 AM “)看起来,”StringFormat ='dd MM yyyy'“被忽略。我怎样才能解决这个问题?Datepicker输出格式Datagrid wpf

<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

的解决方案是非常简单:

我改变了我的“冯”,从“串”到“日期时间”

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

+0

谢谢你,我以前试过..相同 - 通过使用“SelectedDateFormat “我可以使用”StringFormat ='dd MMM yyyy'“来设置格式,但它仅在编辑模式下显示 – user3600403