gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:34 26 4
gpt4 key购买 nike

我知道这个 WPF 单元格背景问题已被讨论过很多次,但我看到的所有解决方案都使用 xaml(参见:Change DataGrid cell colour based on values)

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

好吧,我不能用静态规则来为单元格着色(比如如果输入>0.5 返回红色)因为着色规则是由用户在运行时定义的。

有没有什么方法可以在不使用任何 xaml 的情况下实现单元格样式?

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

感谢任何帮助。

最佳答案

它仍然是正确的数据绑定(bind)方案,我认为没有理由评估您 View 的代码隐藏代码中的任何内容。关键是分色计算及其视觉表现。

  1. 将您的颜色切换逻辑封装在行的 ViewModel 属性中,并在颜色应该更改时适本地通知更改。
  2. 创建一个采用您的 ViewModel 属性类型的转换器,即。字符串并从中创建一个画笔
  3. 使用 2 中创建的转换器将单元格内容的背景属性绑定(bind)到行的属性。

关于c# - 以编程方式更改 WPF DataGrid 单元格背景(不使用 XAML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21650536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com