【发布时间】:2011-02-22 14:29:18
【问题描述】:
我正在尝试向 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>
但理想情况下,我希望它只调整文本颜色而不是背景。
任何有关如何实现此功能的建议将不胜感激,
谢谢。
【问题讨论】: