Điều tốt đẹp về StringFormat
là nó cho phép bạn chỉ định định dạng đầu ra. Đây là một công cụ chuyển đổi tôi sử dụng cho phép bạn chỉ định định dạng.
public sealed class DateTimeToStringConverter : IValueConverter
{
public static readonly DependencyProperty FormatProperty =
DependencyProperty.Register(nameof(Format), typeof(bool), typeof(DateTimeToStringConverter), new PropertyMetadata("G"));
public string Format { get; set; }
public object Convert(object value, Type targetType, object parameter, string language)
{
if (value is DateTime dateTime && value != null)
{
return dateTime.ToString(Format);
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
return DateTime.ParseExact(value.ToString(), Format, CultureInfo.CurrentCulture);
}
}
Làm thế nào để sử dụng (ví dụ với nhiều định dạng):
<Page.Resources>
<ResourceDictionary>
<converters:DateTimeToStringConverter
x:Name="dateStringConverter"
Format="dd-MM-yyyy" />
<converters:DateTimeToStringConverter
x:Name="timeStringConverter"
Format="HH:mm" />
</ResourceDictionary>
</Page.Resources>
<!-- Display the date -->
<TextBlock Text="{Binding Path=Date, Converter={StaticResource dateStringConverter}}" />
<!-- Display the time -->
<TextBlock Text="{Binding Path=Date, Converter={StaticResource timeStringConverter}}" />
Nó không làm việc. Lỗi: Tài nguyên "DateStringToFormatConverter" không thể được giải quyết. – developer033
Bạn phải khai báo bộ chuyển đổi trong xaml của bạn để sử dụng nó – CodeNoob
Nếu bạn có thể chỉnh sửa câu trả lời của bạn cho một câu trả lời hoàn chỉnh, sẽ là tuyệt vời. – developer033