イベントAutoGeneratingColumn
を使用して、コンバーターを列のバインドにアタッチします。
イベント
private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.PropertyType.Equals(typeof(DateTime)))
{
var column = (DataGridTextColumn)e.Column;
var dateTimeConverter = new DateTimeConverter();
((Binding)column.Binding).Converter = dateTimeConverter;
}
}
コンバータ
public class DateTimeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return "Override This";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
プロパティにバインドされた任意の列で、DateTime
「これをオーバーライド」をテキストとして表示します。