2014-03-06 49 views
2

如何使用clture更改viewmodel的Datetime類型屬性的日期格式。我正在使用下面的代碼來改變文化。如何更改Dateformat

 CultureInfo newCulture = null; 
     newCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone(); 
     newCulture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy"; 
     newCulture.DateTimeFormat.DateSeparator = "/"; 


     if (newCulture != null) 
     { 
      Thread.CurrentThread.CurrentCulture = newCulture; 
      Thread.CurrentThread.CurrentUICulture = newCulture; 
     } 

視圖的datetimePicker格式已被更改,但在viewmodel的屬性格式不反映。任何幫助,將不勝感激。

以下是物業。

private DateTime _fromDate = DateTime.Now; 
    public DateTime FromDate 
    { 
     get { return _fromDate; } 
     set 
     { 
      _fromDate = value; 
      OnPropertyChanged("FromDate"); 
     } 
    } 
+0

我已經寫了你的代碼在viewmodel constructer設置文化,它在我身邊工作。 – Betty

+0

你使用任何線程或背景工作? –

+0

@ J29:是的,我正在使用backgroundworker。 – user3354206

回答

0

如果您在backgroundworker中檢查FromDate的值,這將使用相同的系統格式。

//這裏將是你的格式描述,如 「DD/MM/YYYY」

var worker = new BackgroundWorker(); 
     worker.DoWork += (o, ea) => 
     { 
     //and here would be system format 
     }; 
     worker.RunWorkerCompleted += (o, ea) => 
     { 

     }; 

可能的解決方案:你必須改變BackgroundWorker的內部文化。

+0

非常感謝J29。 – user3354206