Я пытаюсь добавить проверку в сетку данных в 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>
но в идеале я хотел бы настроить только цвет текста, а не фон.
Любые предложения о том, как реализовать это, будут очень признательны,
Спасибо.