Архив рубрики: Software

WPF: Отобразить дату и время в формате региональных настроек

Есть для ListView GridView использовать такую запись:

MainWindow.xaml
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding TimeCreated, StringFormat=\{0:G\}, Mode=OneTime}">
Здесь G — это комбинация d — даты и T — времени.

 

То в списке будет выведена дата и время в стандартном формате, не зависящем от настроек системы.
Если же в Windows изменить региональные настройки для отображения даты или времени, то мы эти изменения в программе не увидим. Чтобы данные списка выводились в соответствии с установленным форматом даты/времени, нужно добавить конвертер (и указать его в заголовке):

MainWindow.xaml
xmlns:gl="clr-namespace:System.Globalization;assembly=mscorlib"

<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding TimeCreated, StringFormat=\{0:G\},
                ConverterCulture={x:Static gl:CultureInfo.CurrentCulture}, Mode=OneTime}">