Я пытаюсь добавить проверку в сетку данных в XAML.
В настоящее время я создал метод, который проверяет 3 текстовых поля на правильность ввода, и если false устанавливает значение в коллекции, с которой связана сетка данных, либо в true, либо в false. Эта часть отлично работает.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, чтобы заставить это реально работать.
Я создал конвертер:
public override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool isRowValid = ((bool)value);
ConsoleColor validColour = ConsoleColor.Green;
ConsoleColor invalidColour = ConsoleColor.Red;
if (isRowValid)
{
return validColour;
}
else
{
return invalidColour;
}
}
Поэтому, когда строка недействительна, она будет отображаться красным цветом, а когда она действительна, она будет отображаться зеленым цветом.
Метод проверки каждой строки вызывается, когда строка теряет фокус, и по умолчанию для каждой строки устанавливается недопустимое значение.
Я пытался установить фон для каждой строки, выполнив
<DataGrid.RowBackground>
<SolidColorBrush Color="{Binding Path=IsRowValid, Converter={StaticResource RowValidConverter}}" />
</DataGrid.RowBackground>
но в идеале я бы хотел, чтобы это настраивало только цвет текста, а не фон.
Буду очень признателен за любые предложения о том, как это осуществить,
Спасибо.