Вот мой код Xaml. Здесь я изменил передний план клетки в зависимости от текущего возраста человека.
<data:DataGridTemplateColumn Header="First Name" Width="150" MinWidth="150" CanUserReorder="False" SortMemberPath="FirstName">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate >
<TextBlock Foreground ="{Binding Path=DateOfBirth,Mode=OneWay,Converter={StaticResource CellColor}}" Text="{Binding FirstName}" ToolTipService.ToolTip="{Binding FirstName}" FontFamily="Arial" FontSize="11" VerticalAlignment="Center" Margin="5,0,0,0" />
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
<data:DataGridTextColumn Foreground ="{Binding Path=DateOfBirth,Mode=OneWay,Converter={StaticResource CellColor}}" Header="Last Name" Width="150" MinWidth="150" Binding="{Binding LastName}" CanUserSort="True" IsReadOnly="True" CanUserReorder="False"/>
Когда я запускаю приведенный выше код, он возвращает следующее исключение
AG_E_PARSER_BAD_PROPERTY_VALU
Мой вопрос заключается в том, что когда я удаляю конвертер Foreground из столбца DataGridTextColumn, он работает нормально, так как конвертер Foreground применяется в столбце DataGridTemplateColumn, который не исключается. Но когда я использовал тот же конвертер для DataGridTextColumn, он бросил исключение почему, кто-нибудь может знать, почему это
такое поведение
спасибо заранее.
Извините, Джош Эйнштейн Вот мое возвращаемое значение из конвертера
if (intAge > 25)
return new SolidColorBrush(Colors.Red);
else
return new SolidColorBrush(Colors.White);