gpt4 book ai didi

c# - 基于变量的 WPF DataGrid 行颜色更改

转载 作者:行者123 更新时间:2023-11-30 21:56:13 25 4
gpt4 key购买 nike

我正在使用数据触发器来更改 DataGrid View 组件中行的颜色。代码是:

class QuantityToColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return (int)value <= 444 ?
new SolidColorBrush(Colors.Red)
: new SolidColorBrush(Colors.White);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new Exception("The method or operation is not implemented.");
}
}

如何用一个变量替换“444”值,该变量具有 button_click 函数中网格单元格值的某些计算结果?

编辑:为了更清楚地说明我需要什么:我想更改其中一列中的值大于平均值的行的颜色。由于平均值是根据 DataGrid 数据计算的,因此我需要将其作为变量而不是 444 常量发送。

EDIT2:按钮代码:

private void Button_Click_1(object sender, RoutedEventArgs e)
{
var engine = new FileHelperEngine<ActionLog>();

var result = engine.ReadFile("browse.csv");
// result is now an array of ActionLog

var actionsCnt = new int[22];

int curAccessId = result[1].AccessId;
int AccessCount = 0;

foreach (var record in result)
{
actionsCnt[record.ActionType]++;
if (record.AccessId != curAccessId) { curAccessId = record.AccessId; AccessCount++; }
}

quantityThreshold = AccessCount;

List<act> myList = new List<act>();
for (int i = 0; i < 22; i++)
myList.Add(new act() { actionID = i, quantity = actionsCnt[i] });

grid1.ItemsSource = myList;

engine.WriteFile("FileOut.csv", result);
}

quantityThreshold 是我想用来代替“444”的变量

最佳答案

将该计算变量绑定(bind)到转换器的 ConverterParameter。在 Binding to Converter Parameter 上查看此线程

 return (int)value <= (int)parameter?
new SolidColorBrush(Colors.Red)
: new SolidColorBrush(Colors.White);

关于c# - 基于变量的 WPF DataGrid 行颜色更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668798/

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