C# 通过转换绑定多个文本框颜色

C# 通过转换绑定多个文本框颜色,c#,wpf,mvvm,C#,Wpf,Mvvm,我的应用程序中有多个文本框。我想根据用户输入的数字将文本框的边框更改为绿色或蓝色 我可以绑定文本框的值,并使用IValueConverter将double转换为颜色。这个很好用 问题是我有多个不同条件的文本框。有没有办法定义通用转换函数并在其他地方指定条件?我想到的是一个布尔变量,它根据每个文本框的值而变化。然后,此变量可用于文本框边框颜色的转换。您可以使用IMultiValueConverter和比较运算符(可能作为字符串)作为转换器“参数”,并使用固定值作为绑定之一。 看看 如何为绑定传递

我的应用程序中有多个文本框。我想根据用户输入的数字将文本框的边框更改为绿色或蓝色

我可以绑定文本框的值,并使用IValueConverter将double转换为颜色。这个很好用


问题是我有多个不同条件的文本框。有没有办法定义通用转换函数并在其他地方指定条件?我想到的是一个布尔变量,它根据每个文本框的值而变化。然后,此变量可用于文本框边框颜色的转换。

您可以使用IMultiValueConverter和比较运算符(可能作为字符串)作为转换器“参数”,并使用固定值作为绑定之一。 看看


如何为绑定传递常量值。

您可能应该包含一些代码以供参考;但是,是的,这是可能的,因为您可以在集合上使用委托(Func或Action),其中集合是
Controls.OfType()。其中(Func)
。。实际上,您只是在枚举满足“上一次”枚举条件的实例(尽管以这种方式,它可能会优化为不在集合上实际执行两次迭代)。。