2017-01-23 131 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