2012-07-26 60 views
3

我想要IValueConverter中的特定格式並返回一個字符串。像"MMMyyyy"我怎樣才能得到這個?如何在IValueConverter中設置DateTime格式並返回字符串值?

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
{ 
    var item = (DateTime)value; 
    if (item != null) 
    { 
     return item.ToString(); 
    } 
    return null; 
} 
+0

StringFormat財產綁定到有你想要的輸出 – JSJ 2012-07-27 10:11:33

回答

2

請嘗試以下

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
{ 
    var item = (DateTime)value; 
    if (item != null) 
    { 
     return item.ToString("MMMyyyy"); 
    } 
    return null; 
} 
+0

它不會編譯。 – 2012-07-26 09:17:15

+1

謝謝sachin它是在解決方案。 – Raino 2012-07-26 12:18:57

0

你只是單純的需要格式的ToString添加爲參數

return item.ToString("MMyyyy"); 
0

可以使用DateTime S表示ToString重載() - 的ToString(字符串格式)。於是 - 你可以寫:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
{ 
    var item = (DateTime)value; 
    if (item != null) 
    { 
     return item.ToString("MMMyyyy"); 
    } 
    return null; 
} 

欲瞭解更多信息,看看這個鏈接:

http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

2

你真的需要這裏的IValueConverter? 如果您希望此一結合在WPF特定的格式來顯示數據綁定DateTime,你可以,如果您在綁定,那麼你可以使用的StringFormat有DateTime對象使用的Binding

Article about StringFormat

+0

我也是關於這個使用stringformat會對他更有效的。 – JSJ 2012-07-27 10:14:40