Опитвам се да добавя валидиране към мрежа от данни в 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>
но в идеалния случай бих искал това да коригира само цвета на текста, а не фона.
Всякакви предложения как да се приложи това ще бъдат високо оценени,
Благодаря.