我有一些数据。如果数据满足特定条件,我想通过这些数据并更改单元格(例如 - 背景颜色)。不知何故,我一直无法弄清楚如何在Silverlight中实现这个看似简单的事情。Silverlight Datagrid:基于值更改单元格样式
3
A
回答
5
这是稍微旧的代码(来自RTM之前),但做了类似你正在寻找的东西。它检查一行中某个对象上的某些数据,然后相应地设置该行的颜色。
XAML:
<my:DataGrid x:Name="Grid" Grid.Row="1" Margin="5" GridlinesVisibility="None" PreparingRow="Grid_PreparingRow">
<my:DataGrid.Columns>
<my:DataGridTextBoxColumn
DisplayMemberBinding="{Binding Cheese}"
Header="Cheese"></my:DataGridTextBoxColumn>
<my:DataGridTextBoxColumn
DisplayMemberBinding="{Binding Biscuit}"
Header="Biscuit"></my:DataGridTextBoxColumn>
</my:DataGrid.Columns>
</my:DataGrid>
代码:
this.Grid.AlternatingRowBackground = null;
private void Grid_PreparingRow(object sender, DataGridRowEventArgs e)
{
CheesyClass c = e.Row.DataContext as CheesyClass;
if (c != null && c.Cheese == "cheddar")
{
e.Row.Background = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255, 125, 125));
}
}
1
其实这并不会在所有的实例工作。看到这些链接,实现这一
0
我一般写定制ValueConverters每个数据类型的限制是回报可见性,颜色等
的“正确”的方式这给出了定义自定义规则的单一点,并且我发现其工作得很好。
Robin的第二个链接描述了编写自定义ValueConverter。
相关问题
- 1. 基于上一行值更改DataGrid单元格样式
- 2. 基于值更改单元格颜色
- 3. 基于相邻单元格值更改单元格值
- 4. 如何更改Flex DataGrid中单个单元格的样式?
- 5. 当单击行时可能更改单元格样式WPF DataGrid?
- 6. 更改datagrid中单个单元格的样式WPF/C#
- 7. Silverlight MVVM:基于Silverlight中的绑定值更改DataGrid中的单元格边框颜色
- 8. 基于另一个单元格值更改单元格颜色
- 9. 基于单元格条件更改单元格值
- 10. 将值更改为DataGrid单元格
- 11. 在Silverlight Datagrid中检索单元格值
- 12. Silverlight DataGrid样式
- 13. WPF DataGrid单元格更改后更改
- 14. Silverlight DataGrid单元格消失
- 15. Silverlight DataGrid单元格多行
- 16. Wpf datagrid更新datacontext上datagrid单元格值更改
- 17. 基于单元值的Datagrid单元格颜色
- 18. 如果值更改,更改dojo treegrid单元格的样式
- 19. VBA:基于其他单元格的近似值更改单元格的值
- 20. 基于DataTable中更改的单元格将样式应用于DataGridCell
- 21. 以编程方式在WPF中更改DataGrid单元格值
- 22. 基于类更改单元格颜色
- 23. WPF DataGrid源更新单元格更改
- 24. DataGrid行和单元格样式在XAML
- 25. DataGrid单元格的绑定样式
- 26. UITableView更改单元格样式
- 27. 在KendoGrid中更改单元格样式
- 28. asp:GridView更改标题单元格样式
- 29. WPF Datagrid基于其他单元格的一个单元格格式
- 30. 更改单元格的值格式
这似乎是有意义的改变整个行的颜色值转换器。是对的吗? – 2009-12-11 04:36:07