Я не уверен, есть ли простой способ сделать это, я бы сделал это так, что, кажется, работает:
Определение настраиваемого столбца с настраиваемым конвертером:
<DataGrid.Resources>
<local:ZeroToNilConverter x:Key="ZeroToNilConverter"/>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Id, Converter={StaticResource ZeroToNilConverter}}" Header="Test"/>
</DataGrid.Columns>
//Sorry, i do not speak VB...
public class ZeroToNilConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int input = 0;
try
{
input = (int)value;
}
catch (Exception)
{
return value;
}
if (input == 0) return "NIL";
else return value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string input = value as string;
if (input != null)
{
if (input == "NIL") return 0;
else return value;
}
else
{
return value;
}
}
}