如何将参数从代码传递到ValueConverter
本文关键字:ValueConverter 代码 参数 | 更新日期: 2023-09-27 18:30:06
我有一个IValueConverter类,用于在单元格本身的值大于0(不重要)的情况下更改数据网格单元格的背景色。
现在我想创建几个包含这个数据网格的窗口实例。根据Window实例中定义的一些值,IValueConverter是否应为数据网格单元格的背景着色。因此,IValueConverter将根据Window类的实例执行不同的工作。
现在的问题是:我无法在XAML中传递ConverterParameter,因为该参数对于窗口的所有实例都是修复参数。我曾想过以编程方式将相关信息传递给IValueConverter类(这是必需的),但我如何访问IValueConverterclass的实例?我目前的解决方案是:我在IValueConverter类中放入一些静态变量,这样我就可以从Window类的实例访问它们。但这个解决方案很糟糕,因为变量是静态的,因此ValueConverter在每个窗口实例中的行为都是相同的。
有人知道如何从Window实例以编程方式访问IValueConverter实例吗?谢谢
由于您无法数据绑定到ConverterParameter,因此您可以执行以下两项操作之一(另请参阅此SO问题):
- 将依赖项属性添加到视图模型并执行多值转换器
- 将整个视图模型传递到绑定表达式中