Формат даты и времени программно WPF Datagrid - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть DataGrid в окне WPF, он может иметь разные столбцы (которые выбираются программно). Часто многие из них являются датами, но они по умолчанию отформатированы как мм / дд / гггг чч: мм: сс тт. Однако мне нужны все эти поля, показанные как дд / мм / гггг. Я мог бы найти, как это сделать в определенных столбцах xaml, но все мои столбцы являются программными, поэтому мне нужно сделать это либо в c #, либо определить в XAML все столбцы даты и времени, которые будут отформатированы таким образом.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Напишите конвертер, как объяснено в одном из ответов на Столбец даты таблицы данных WPF с системным настраиваемым кратким форматом даты .

Передавая выполнение в код, а не в xaml, вы получаете полный контроль над выводимой строкой. Я использую мой, чтобы показать смесь длинных дат и короткого времени (что запутало черт из парсера xaml).

0 голосов
/ 15 ноября 2018

Обнаружена возможность форматирования всех столбцов DateTime с помощью обработки AutoGeneratingColumn объекта DataGrid и добавления привязки всякий раз, когда указан тип DateTime

if (e.PropertyType == Type.GetType("System.DateTime")) {
    DataGridTextColumn col = e.Column as DataGridTextColumn;
    col.Binding = new Binding(e.PropertyName) { StringFormat = "dd/MM/yyyy" };
}

Нашел решение здесь: https://social.msdn.microsoft.com/Forums/vstudio/en-US/f32a6639-60c8-47c7-9ae0-dceb221fd9cf/string-format-for-the-datagrid-column?forum=wpf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...