繁体   English   中英

以编程方式更改WPF DataGrid单元格背景(不使用XAML)

[英]Change WPF DataGrid cell background programatically (without using XAML)

我知道这个WPF单元格背景问题已经被讨论过很多次了,但是我见过的所有解决方案都使用xaml(请参阅: 根据值更改DataGrid单元格颜色

您可能会想,为什么没有xaml? 如果您有静态的着色规则,Xaml很好,而我没有。 (我的应用程序是一个电子求解器,它将突出显示电网运营商定义的某些安全限制之上和之下的值)

好吧,我无法使用静态规则为单元格上色(类似于input> 0.5返回红色),因为着色规则是由用户在运行时定义的。

有没有不用xaml就能实现单元格样式的方法?

现在,我使用的是嵌入在WPF UI中的Windows窗体宿主中的Windows窗体数据网格(丑陋,但可以工作)我真的很希望拥有WPF数据网格,因为它的性能要好得多。

任何帮助表示赞赏。

这仍然是正确的数据绑定方案,我认为没有理由在您的视图的代码隐藏代码中评估任何内容。 关键是拆分颜色计算及其可视化表示。

  1. 在更改颜色时,通过适当的通知更改将颜色切换逻辑封装在行的ViewModel属性中。
  2. 创建一个采用ViewModel属性类型的转换器。 字符串并从中创建画笔
  3. 使用2中创建的转换器将单元格内容的Background属性绑定到row属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM