Я часто использую текстовые поля в своих проектах wpf, связанных с datetime-propertys. Я хочу отформатировать даты в немецком формате dd.MM.yyyy
. В настоящее время я делаю это с самописцем конвертера, который я могу предоставить необходимый формат даты.Должен ли я всегда писать конвертер для форматирования даты?
Например, как это:
<TextBox Name="Date" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type prj:MyBar}}, Path=Date, Converter={StaticResource dateConverter}, ConverterParameter=dd.MM.yyyy}" />
Единственное, конвертер делает, чтобы вызвать ToString(string formatString)
-метод DateTime.
Есть ли более «умный» способ форматирования даты с привязкой данных. Лучше всего было бы, если не нужно писать C# -код. Возможно, в microsoft-libs есть какой-либо существующий класс, который мог бы сделать такое преобразование даты для привязки данных, но я еще не нашел его.
Было бы замечательно, если есть какие-либо советы,
поздравления, Martin
Стандартное форматирование даты и времени было во всех версиях .Net, см. Http://msdn.microsoft.com/en-us/library/az4se3k1(VS.71).aspx (версия 1.1) – HadleyHope
Есть ли возможность этого в .NET 3.0, так как я еще не перенесла свой проект на 3.5. – martin
Просто создайте преобразователь формата строки и передайте строку форматирования в качестве параметра преобразователя. Тогда вам нужно всего лишь сделать один конвертер для всех, и его легко обновить, когда/если вы перейдете на 3.5sp1. –