我正在使用mvvm模式构建一个wpf应用程序。
我需要帮助,在改变颜色的特定行的数据网格。
DataGrid ItemsSource绑定到ViewModel中Datatable类型的属性。
<DataGrid ItemsSource="{Binding Data}"/>
另外,我有一个带有命令绑定的按钮
<Button Content="Run" Command="{Binding RunCommand}"/>
这是我的ViewModel中的RunCommand
RunCommand = new DelegateCommand(Run, CanRun);
Run方法处理执行。
在这个方法中,我迭代数据的DataRows,并根据我所做的一些计算,我想设置数据网格中每行的颜色。
绿色表示通过,红色表示失败。
foreach (DataRow row in Data.Rows){
bool result=Calculate(row);
if(result){
SetTheRowColor(row,green);
}
else{
SetTheRowColor(row,red);
}
}
所以我需要帮助来实现SetRowColor方法。
提前感谢任何帮助。
2条答案
按热度按时间iqjalb3h1#
在代码中设置
DataTable
的特定列的值,并使用DataTrigger
更改XAML标记中的行的颜色,例如:代码:
kse8i1jr2#
在ViewModel中添加
以下内容:
添加这个新类:
最后,在视图中编辑数据网格为: