问题标签 [imultivalueconverter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
663 浏览

wpf - 是否可以将 IMultiValueConverter 用于项目列表?

我将 EmployeeList 作为 Employee 对象的 observableCollection。

Employee 对象有 Salary。

我想在 XAML 中显示一些值,例如员工的平均薪水,并且当将项目添加到列表中或在任何更新的项目中更改薪水字段时,UI 字段应自动更新。

这可以通过为平均值创建一个属性并侦听列表中的集合 Changed 和 ProperyChanged 处理程序来实现。

但是,我确信应该有其他更好的方法来做到这一点。(如使用 AttachedProperties 或 IValueConverter/IMultiValueConverter)

关于这一点,我有以下问题。

  1. 是否可以将 IMultiValueConverter 用于项目的 List/ObservableCollection?当项目添加到列表以及特定属性更改时应该调用转换器?
0 投票
1 回答
487 浏览

wpf - DataTrigger 不进入转换器

这是xml:

这是window1的代码隐藏:

}

0 投票
1 回答
196 浏览

wpf - 为什么 MenuItem 不发送指定参数而是发送 Button

按钮 cammand 与 MenuItem 完全相同。当我为 MenuItem 调试转换器时,值参数包含两个对象:DependencyProperty.UnsetValue(我不知道这是什么)和 MyContextMenu 对象。

还有我如何将 SomeType 作为参数传递?谢谢

0 投票
2 回答
5381 浏览

wpf - How to set the ValueConversion attribut for a IMultiValueConverter

I changed my converter from IValueConverter to IMultiValueConverter : Previously I converted int to string :

But now I convert an int and a double to a string.

How should I specify my ValueConversion attribut now ? I have two input and one output now.

0 投票
1 回答
725 浏览

c# - C#/WPF - DataGrid - 超时后更新元素颜色

我目前使用以下方法来设置行背景的颜色。

XAML

C#

问题是该转换器仅在使用新值填充 DataRow 时调用。我真正需要的是某种回调以在一段时间后更改颜色或定期重新评估转换器。

颜色更新不必是即时的,只需几秒钟即可。如果我对每一行都有一个回调,那么我需要尽可能多的线程来匹配(它们被创建并因此在不同时间过期(改变它们的颜色)),大约 1000 行这似乎不是一个有效的选择。

另一种选择是定期轮询一个线程上的行,并在每次迭代时重新评估转换器(每 5 秒?)。我认为这可能是要走的路,但我不知道如何在 WPF 中进行。

也许有另一种方法或内置支持这样的任务?

提前致谢!

0 投票
1 回答
2664 浏览

wpf - IMul​​tiValueConverter + MultiBinding - 数据绑定值的反向算术计算?

为奇怪的标题道歉。我不知道该怎么说。

我拥有的是 3 个文本框数据绑定到某些值。

我需要做的是让 TextBoxes 的值 1 自动计算为计算其他 2 个文本框的结果。

经过一番谷歌,我发现使用 IMultiValueConverter 接口应该可以解决我的问题。确实如此。但只有一种方式。

例如:

文本框 1 * 文本框 2 = 文本框 3

但反过来也是如此:

文本框 3 / 文本框 2 = 文本框 1

后者是我在完成时遇到的麻烦。无论我做什么,反向计算都不会坚持。

我已经实现了 2 个 IMultiValueConverters,每个用于 2 个文本框(因为它有 2 个不同的计算)。

转换器1:

结束类

转换器 2:

结束类

您将看到 ConvertBack 方法的返回值设置为 Nothing。这是因为每当我返回 value 参数时,我都会收到一个异常,说我无法从字符串转换为一维数组。

我究竟做错了什么?

任何帮助深表感谢。

提前致谢。

PS我对转换器相当陌生。我最近才开始玩它。

0 投票
3 回答
1699 浏览

wpf - 多重绑定。如何将正确的值更新为源?

我的问题如下。

我有 3 个文本框绑定到数据集中的 3 个字段。TextBox_RateTextBox_HoursTextBox_Salary

我需要的是TextBox_Rate + TextBox_Hours = TextBox_Salary

我发现这可以通过使用MultibindingConverter来实现。

多重绑定如下所示:

和转换器:

结束类

所有这些都 100% 有效。我得到了我想要的结果。但这也是问题所在……

TextBox_Rate绑定到 Dataset 字段RateTextBox_Hours绑定到 Dataset 字段Hours并且最初(在多重绑定之前)TextBox_Salary绑定到 Dataset 字段Salary但现在绑定到TextBox_Rate AND TextBox_Hours。并且从 Multibinding 生成的值不会更新回源字段“Salary”,因为它没有绑定该字段。

如何设置绑定以更新该字段?

提前致谢。

0 投票
1 回答
3942 浏览

wpf - IMul​​tiValueConverter ConvertBack 问题

我正在使用 wpf + mvvm 并尝试实现条件转换器。这是我在 xaml 中所做的事情:

多转换器:

所以我想要做的是根据用户所在的页面类型有条件地将页面上的元素绑定到我在 viewController 中拥有的不同模型。

我需要为转换返回做什么?我不知道如何判断该值属于返回数组中的哪个元素。有任何想法吗?

0 投票
1 回答
957 浏览

wpf - 转换函数总是有一个值 DependencyProperty.UnsetValue - WPF

我是 WPF 的新手。在我的应用程序中,我试图根据另一列和 TextBox 计算数据网格列。它应该将两者相乘并给出结果。同样,我正在使用 IMultiValueConverter。我在 DataGrid 中的绑定如下:

问题是我的元素绑定。元素名称是绝对正确的,但在我实现的类中,它总是将值作为 DependencyProperty.UnsetValue。问题是什么???任何想法。

转换器功能如下:

0 投票
1 回答
1459 浏览

wpf - WPF 3.5:MultiValueConverter 值是 NamedObjects,其中单个 ValueConverter 正常工作

我有一个 MultiValueConverter 的问题,我越是尝试修复它,它就越感觉像一个 .NET 错误。这是怎么回事:

我正在使用类似的 MultiBinding 定义绑定 Stackpanel 和用户控件 (UC) 的 IsEnabled 属性(当然,我使用<ns:usercontrolname.IsEnabled>的是 UC):

“当前”UC(包含此 XAML 的)正在分配给 TabItem.Content。DataContext 在 TabItem 处设置。

我还在同一个“当前”UC 上的两个单独的单值绑定中使用上述属性:

当“当前”UC 第一次实例化并分配给 TabItem 的内容时,所有绑定都可以正常工作。但是,一旦我将 TabItem 的内容更改为不同的 UC(不处理实例化的“当前”UC),就会再次调用所有转换器,并且 MultiValueConverter 的values()参数包含NamedObject两个整体。使用完全相同的属性的单值转换器工作正常。

我想不通。我什至尝试在 MultiBindings 上使用 RelativeSource,但无济于事。

我有两个问题:

  1. NamedObject当单值绑定正常工作时,MultiBindingConverter 中的值如何

  2. 不太重要的问题是为什么在我更改 TabItem 的内容时调用绑定(请注意,这些转换器是在 UserControl.Unloaded 之前调用的)

谢谢,戴夫