问题标签 [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 回答
3102 浏览

.net - 使用 IMultiValueConverter 将多个 CommandParameters 传递给 viewModel

我有以下代码:

下面是 PassThroughConverter 的代码:

当我一碰到返回值行进行调试时,正确的值在数组中,但是当我按下触发 filtergrid 命令的按钮时,返回的值都是空的?任何人都可以帮忙。谢谢你。

0 投票
1 回答
479 浏览

wpf - 如何将 2 个控件绑定到 1 个字段并访问 ConvertBack 的 2 个控件值?

在 DataGridTemplateColumn DataTemplate 中,我想将 2 个控件绑定到格式为“[name]:[value]”的字符串字段,即字符串由冒号“:”分隔。我需要将控件 a) 绑定到 [name] 部分和控件 b) 值部分。

我已经能够成功地使用 IValueConverter 来拆分字符串以进行显示:

和 XAML:

但是可以在文本框中编辑数据,那么如何访问 ConvertBack 中的 2 个文本框值以便它们可以再次连接?

0 投票
3 回答
1633 浏览

c# - 命令参数传递父引用

我有一个 WPF 树视图,我需要在子节点上下文中引用父节点。菜单命令。在下面的 XAML 中,我需要在成员命令参数中传递 A 的引用

XAML:

转换器:

0 投票
1 回答
351 浏览

textbox - 使用 MultiBinding 聚焦时文本框的不同格式不会更新源

我想做的很简单,当 TextBox 有焦点时显示一种格式,而在没有焦点时显示另一种格式。在我的情况下,我在不集中时将一个数字四舍五入为 3 位数字,但在集中于编辑时显示实际的整数。

我有一个使用多重绑定的相当简单的解决方案,我觉得我快到了。一切都按预期工作,即时窗口中没有错误,但绑定不会更新源。

我正在使用这种样式来传递我的绑定以及 TextBox 是否将焦点传递给转换器。

示例用法:

多值转换器就在这里。

0 投票
3 回答
808 浏览

c# - TextBox:绑定为双精度,通过 IMultiValueConverter 转换:ViewModel 中的值更改时不更新

我正在使用 Caliburn.Micro。

在我的视图中,我有一个TextBoxBinded todouble X和一个在我的 ViewModelButton改变X值的。

我的目标是限制显示的小数位数。此数字可在应用程序中配置,因此可用作 AnObject 的属性。因此我定义了一个IMultiValueConverter

并将我的 TextBox 定义如下:

什么有效: X 的初始值为零,格式正确。

什么不起作用:按下按钮时,新值不会显示在 TextBox 中。

也欢迎不使用 IMultiValueConverter 的建议。

0 投票
0 回答
1079 浏览

c# - 使用 IMultiValueConverter 绑定到 DataGridColumn 会遇到问题,而使用类似的 IValueConverter 不会

我有 2 个 Datagrid 复选框列,每个列都有一个绑定。

绑定只是将选中框的日期/时间写入 db 字段"Required",未选中时为空。

在第一个复选框中,使用以下转换器一切正常:

在最后一列中,我想将日期和时间保存到 2 个不同的字段"Required_Date""Required_Time" (String). 创建以下内容IMultiConverter来处理它:

在初始加载时,该列看起来不错。该列已检查所有适当的单元格。但是,当检查值/未选中时,我会收到以下绑定错误。

此外,当我取消选中一个单元格时,它并没有正确取消选中,并且我通过转换器中的一些断点注意到值的出现DependencyProperty.Unset(可能是由于绑定警告)。

(9-30-12)

我在 codeplex 评论中发现了一个更有希望的线索:

“MultiBindings 不起作用的原因是 DataGridHelper.UpdateSource 使用 GetBindingExpression 而不是 GetBindingExpressionBase。如果更改此设置,则 multi 和优先级绑定应该可以工作。”

我试图将更新设置为Explicit并创建一个DataGrid_EndCellEdit调用BindingBaseExpression更新的事件,但我认为 DataGridColumn 忽略了更新选项。

(10-12-12)

仍然没有运气,我尝试使用BindingBaseExpression无济于事。显然IMultiValueCOnverter绑定正在做一些奇怪的事情。

0 投票
1 回答
247 浏览

c# - 将 Guid 传递给 IMultiValueConverter

我创建了一个多值转换器,我正在绑定一个 Telerik:RadMenuItem 的可见性属性。此右键单击菜单位于 Telerik 日历控件上的约会中。我想将 ControlID(这是我正在使用的框架的附加属性)传递到我作为参数制作的 IMultiValueConverter 中。因此,我想传入 Guid(它作为转换器中对象数组中的第二个值出现),然后对其进行转换以获取该值,以便我可以进行评估。WPF 不是我的强项,在尝试了很多事情之后,我似乎无法将绑定连接起来。

我在第二个 Binding 标记中缺少什么以成功将 ControlID 的内容传递给我的多值转换器?谢谢!

0 投票
1 回答
1713 浏览

wpf - MultiBinding ConvertBack 问题

在尝试解决我在另一个项目中遇到的问题时 - 我创建了以下示例来复制该问题。

这个想法是,当用户通过滑块或文本框输入新值时,这些值应该通过转换器“ConvertedBack”,并更新源。不过,我似乎没有看到这一点,我相信是因为正在写入 InternalRep 的属性,但没有通知 InternalRepProperty 的绑定表达式。

解决这个问题的最佳方法是什么?

我尝试的一种方法是处理滑块 ValueChanged 事件,但这导致转换器... ConvertBack然后Convert然后ConvertBack然后Convert,不知道为什么。

当用户更改一个值时,我需要转换器仅 ConvertBack 来更新源,没有别的,..这可能吗?

TextSplitter XAML

文本分割器 C#

主窗口 XAML

主窗口代码

0 投票
0 回答
5677 浏览

wpf - 使用 MultiConverter 进行多重绑定会产生 DependencyProperty.UnsetValue

我有一个清单MyItem。该对象表示具有某些属性的形状,例如宽度、高度和颜色。Alpha使用转换器,如果选择了我的对象(我不想更改不透明度),我正在尝试将填充颜色从 (255, r, g, b) 更改为 ( , r, g, b ) 。Alpha(double) 住在我的视图模型中。

我的问题是发送到转换器的两个值都设置为DependencyProperty.UnsetValue,无论我给它什么。如果我只指定Path我希望它绑定到我的视图模型,但它没有。显然,我在这里做错了什么。

问:我需要Alpha我的 viewmodel 和MyItemColorDataContext 的myitem(我假设在 MultiBinding 块内时它仍然是 DataContext)。我的Binding标签应该是什么样的?

XAML

转换器

更新

我解决了。我必须寻找父控件(包含项目)才能访问我的视图模型。澄清这一点,为什么它是好/坏,就足以作为一个答案!我不完全明白发生了什么:)

和...

0 投票
2 回答
3565 浏览

c# - 针对 WPF 中的项目集合的可见性

我有下拉菜单和网格。在网格列中有超链接。如果下拉集合包含 1 个项目,那么下拉列表应该是不可见的。我的意思是需要一个逻辑来将可见性与项目集合绑定。

这是 GRid 中一个超链接的 XAML。