Отвечая на ваш оригинальный вопрос, мне показалось бы, что преобразователь значений сделает эту работу здесь.
public class MyConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
// Do stuff with parameter, for example:-
int month = Convert.ChangeType(parameter, typeof(int), culture);
return cultrue.DateTimeFormat.GetAbbreviatedMonthName(month + 1);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Тогда используйте его в своем xaml: -
<UserControl.Resources>
<local:MyConverter x:Key="myconv" />
</UserControl.Resources>
...
<data:DataGrid x:Name="dataGrid" AutoGenerateColumns="False" Margin="1,1,1,1" >
<data:DataGrid.Columns>
<data:DataGridTextColumn
Header="Substantive"
Binding="{Binding Path=Substantive}"
IsReadOnly="True"
/>
<data:DataGridTextColumn
Header="{Binding Converter={StaticResource myconv} ConverterParameter=0}"
Binding="{Binding Path=Month[0]}"
IsReadOnly="True"
/>
<data:DataGridTextColumn
Header="{Binding Converter={StaticResource myconv} ConverterParameter=1}"
Binding="{Binding Path=Month[1]}"
IsReadOnly="True"
/>
</data:DataGrid.Columns>
</data:DataGrid>