... ... SL3 içinde bir IValueConverter faydalanmak gerekir. Eğer daha sağlam bir yaklaşım isteseydim
public class DateTimeToStringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return String.Format("{0:MM/dd/yyyy}", (DateTime)value);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Eğer ConverterParameter
devreye sokabilir. ilk önce bir kaynak olarak dönüştürücü tanımlamak için XAML sonra
public class DateTimeToStringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (parameter == null)
return ((DateTime)value).ToString(culture);
else
return ((DateTime)value).ToString(parameter as string, culture);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
...
<namespace:DateTimeToStringConverter x:Key="MyDateTimeToStringConverter"/>
..Bugün ...
DateTime
değeri biçimlendirme için kabul edilebilir bir parametre ile birlikte referans
<TextBlock Text="{Binding Date,
Converter={StaticResource MyDateTimeToStringConverter},
ConverterParameter=\{0:M\}}"/>
bazı öneriler Ancak 1 since: kullanım örneği dahil, ConverterParameter kullanımı alternatif bir biçim dizesi geçmek "DateTimeToStringConverter" demek onun işlevine uygun olarak daha sınıf bir isim vermek olun. – AnthonyWJones
@AnthonyWJones Düzenlemeler eklendi ... –
Bir IValueConverter kullanmaya karşı şiddetle tavsiye ederim. Bağlama yaptığınız mülkü açığa çıkarırken bir C# kodu da bu dönüşümü aynı şekilde yapar. – JustinAngel