问题标签 [multibinding]

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 回答
11760 浏览

textbox - 当文本输入的强制导致源值未更改时,不更新 TextBox 上的文本,其中 UpdateSourceTrigger=PropertyChanged

我有一个文本框,其Text属性有一个TwoWay MultiBinding,其中UpdateSourceTrigger设置为PropertyChanged。第一个Binding是一个依赖属性 ( Value ),它有一个PropertyChangedCallBack函数,该函数将值四舍五入到小数点后一位。

文本框的目的是在用户键入时执行舍入,而不是在文本框失去焦点时执行舍入,因此UpdateSourceTrigger设置为PropertyChanged

我遇到的问题是,如果输入的文本不会导致更改,则文本属性和会不同步。只有当舍入操作导致Value发生变化时, Text才会即时更新。例如,如果TextValue都是 123.4 并且用户在此之后键入 1,则Value将四舍五入为相同的值 (123.4),但Text显示 123.41。但是,如果在 4 之后键入 9,则Value向上舍入为 123.5。并且由于这种实际变化,文本随后更新为相同的 (123.5)。

即使自上次触发以来源没有更改,是否有任何方法可以强制文本框从其源更新?我尝试过使用BindingExpressionBase.UpdateTarget(),但这仅在UpdateSourceTrigger设置为Explicit时有效,因为在可以调用UpdateTarget的合适时间(例如TextInput处理程序)之前不再更新Value,因此无法使用。我尝试了其他方法,例如从绑定的Value中显式更新Text值,暂时强制对Value进行实际更改以调用更新,但是这些“黑客”要么不起作用,要么导致其他问题。

任何帮助将不胜感激。

代码如下。

XAML 片段

C# 片段

需要转换器类

0 投票
4 回答
3263 浏览

wpf - WPF - 延迟多重绑定

我有一个看起来像这样的多重绑定:

而且,我希望能够在两个绑定的 IsMouseOver 变为 false 和 Visibility 设置为 Collapsed 之间添加延迟。

我发现了这个延迟绑定实现: http: //www.paulstovell.com/wpf-delaybinding

但是,这对 MultiBinding 不起作用,我一直无法弄清楚如何制作一个适用于 MultiBinding 的产品。

我确实可以选择在代码隐藏中的事件中更改可见性,这会起作用,但如果有某种方法可以通过绑定系统来做到这一点,那就太好了。

有什么方法可以为 MultiBinding 添加延迟吗?

编辑:雷,为了让你的课程编译和运行,我不得不做一些修复。但是,仍然有问题,因为更新没有被传播。它似乎只更新一次目标属性。

EDIT2:尽管我无法让 Ray 的代码正常工作,但我已将其标记为答案,因为它会引导我找到一些可以工作的代码。有关我使用的代码,请参阅下面的答案。

0 投票
1 回答
1833 浏览

wpf - 如何在 Expander Header 中设置多重绑定和图像

也许你可以帮我解决这个问题。我想在扩展器的标题中显示文本多重绑定和图像。

这是我对扩展器的简化编码:

如何在其中设置图像?

提前致谢!

0 投票
3 回答
32243 浏览

c# - StringFormat 和带标签的多重绑定

我想使用 StringFormat 来做这样的事情:

但是,它不起作用,我得到了这个错误:

MultiBinding 失败,因为它没有有效的转换器。MultiBindingExpression:目标元素是'Label' (Name='myLabel'); 目标属性是“内容”(类型“对象”)

有什么办法可以使这段代码工作吗?

0 投票
2 回答
221 浏览

wpf - WPF-如何绑定到两个列表框的 SelectedValue 属性?

我需要以绑定目标被赋予最近更改的 SelectedValue 的值的方式执行此操作。

0 投票
1 回答
1075 浏览

wpf - WPF VB.NET RectangleGeometry 矩形结构多重绑定

我有以下完美运行的 XAML(与 myRectConverter 类一起)。唯一的问题是我需要将其转换为 VB.NET 代码,以便可以在应用程序中动态生成它。

这是我到目前为止所拥有的:

有谁知道如何让这个工作?

谢谢

0 投票
1 回答
2107 浏览

wpf - IMul​​tiValueConverter 值没问题,但 CommandParameter 为空

我试图通过 IMultiValueConverter 将几个值传递给命令(作为命令参数)。这些值在通过转换器时是正确的,但是一旦调用 Can_Execute() 和 Execute() 命令,我就会得到一个空对象数组。有任何想法吗?

xml:

IMul​​tiValueConverter 类:

当我不使用 MultiBinding 和转换器时,代码工作得很好,但我需要 MultiBinding,这样我就可以将一些额外的信息传递给命令。

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 投票
2 回答
4533 浏览

wpf - 我可以使用多重绑定进行文本搜索吗

我在 mvvm-wpf 应用程序中有以下组合框。我需要在此实现“文本搜索”..(以及多重绑定)。任何人都可以帮助我吗?

0 投票
2 回答
550 浏览

wpf - 如何避免文本框中的默认文本?

我有一个文本框,它使用多重绑定 usingStringFormat...,如下所示。但它将默认值显示为 {DependencyProperty.UnsetValue},{DependencyProperty.UnsetValue}

如何避免这种情况?

请帮我。