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

c# - 使用 IMultiValueConverter 时出现 DependencyProperty.UnsetValue

我创建了一个简单的转换器来连接我的 WPF 应用程序中的四个文本框的文本。

这是转换器:

在 Xaml 我使用这个代码:

在调试时,此错误出现在 CodeBoatTxt 文本框中:“DependecyProperty.UnsetValue”。

我的转换器有什么问题?

0 投票
1 回答
6404 浏览

wpf - 使用 IMultiValueConverter 和转换错误的 Wpf 数据绑定

作为学习 WPF 的一部分,我刚刚完成了名为“在 WPF 中使用数据绑定”(http://windowsclient.net/downloads/folders/hands-on-labs/entry3729.aspx)的 MS 实验室练习。

为了说明使用 IMultiValueConverter,有一个预编码的实现,其中布尔结果用于确定数据绑定是否与当前用户相关。下面是转换操作的代码:

这是在 XAML 中使用它的接线:

代码运行良好,但 XAML 设计器不会加载“指定的强制转换无效”。错误。我尝试了几种不使用演员表的方法,其中一种我在上面的代码中没有注释。有趣的是 MS 提供的完成的实验室练习也有错误。

有谁知道如何解决它以使设计师满意?

干杯,
贝里尔

0 投票
1 回答
3760 浏览

wpf - 在使用 MultiBinding 绑定多个 CommandParameters 方面需要更多帮助

我需要有一个 ToggleButton 的命令处理程序,它可以采用多个参数,即所述 ToggleButton 的 IsChecked 属性,以及一个常量值,它可以是字符串、字节、int ... 没关系。

在 SO 上找到了这个很好的问题,并按照答案的链接阅读了 MultiBinding 和 IMultiValueConverter。在我不得不编写 MultiBinding 之前,它真的很顺利,当我意识到我还需要传递一个常量值并且不能做类似的事情时

然后我遇到了 Kent Boogaart 回答的另一个类似问题,然后我开始思考可以解决这个问题的方法。

一种可能的方法是不使用 MVVM,只需将 Tag 属性添加到我的 ToggleButton,在这种情况下,我的 MultiBinding 将如下所示:

Kent 曾发表评论,“如果你使用 MVVM,你应该能够解决这个问题”。但是,我不确定这是否适合我,即使我已采用 MVVM 作为 WPF 模式的必要选择。

之所以这么说,是因为我在UserControl中有不止一个ToggleButton,而且每个ToggleButtons的Commands都需要调用同一个函数。但是由于它们是ToggleButtons,我不能在ViewModel中使用绑定到IsChecked的属性,因为我不知道最后点击的是哪一个。我想我可以添加另一个私有财产来跟踪这一点,但这似乎有点傻。就常数而言,如果我做了跟踪的想法,我可能会摆脱它,但不确定是否有任何其他方法可以绕过它。

有人在这里对我有好的建议吗?:)

编辑——好的,所以我需要更新我的绑定,它仍然不能正常工作:

IsChecked 有效,但标签无效。我刚刚意识到 Tag 是一个字符串......呃。它现在正在工作!关键是使用Self的 RelativeSource 。

0 投票
2 回答
5136 浏览

wpf - WPF:有没有办法在 MultiValueConverter 的 ConvertBack 方法中获取原始值?

我编写了一个 MultiValueConverter,它检查给定列表是否包含给定值,如果包含则返回 true。我用它来绑定到自定义复选框列表。现在我想编写 ConvertBack 方法,以便如果选中复选框,原始值将被发送到模型。有没有办法访问 ConvertBack 方法中的值?

XAML:

我在绑定时得到正确的结果,但是有没有办法在转换回来时获取绑定的 id?我想要实现的是,如果未选中复选框,则该值将从列表中删除,如果选中,则该值将添加到列表中。

0 投票
1 回答
357 浏览

.net - WPF 中是否有任何内置的 IMultiValueConverts?

我正在编写一个包含两个绑定的 MultiBinding - 每个都返回一个布尔值。使用 MultiBindings 您需要指定一个 IMultiValueConverter。在我的情况下,这个转换器应该采用两个布尔值并返回它们的 AND。这写起来真的很简单,但我必须这样做吗?这感觉就像是最基本的 MultiValueConverter,如果 .NET 中已经存在一个,我不想写一个。

所以 - 有吗?如果是这样 - 有哪些内置的 IMultiValueConverters?

0 投票
1 回答
335 浏览

wpf - 为什么我的 IMultiBindingConverter 用于设置 TextBox.Text 时会得到一个字符串数组?

我正在尝试将 MultiBinding 与转换器一起使用,其中子元素也有转换器。

XAML 看起来像这样:

我在这里面临的问题是,每当它与 TextBlock 一起使用来指定 Text 属性时,我的 IMultiValueConverter 实现都会获取字符串的对象集合,而不是 IValueConverter 返回的类。似乎对内部转换器的结果调用了 ToString() 方法并传递给 IMultiValueConverter。如果用于指定 Label 的 Content 属性,则一切正常。

在我看来,框架假设返回类型将是字符串,但为什么呢?我可以在 MultiBinding 中看到这一点,因为它应该产生与 TextBlock.Text 兼容的结果,但为什么 MultiBinding 中的 Bindings 也会出现这种情况?

如果我从内部 Binding 元素中删除转换器,则会返回本机类型。在我的情况下,字符串和 int。

0 投票
1 回答
2885 浏览

wpf - WPF Converter with Property vs MultiConverter?

What is the difference between using a Converter (IValueConverter) and passing in other values as parameters (ConverterParameter) vs using a MultiConverter (IMultiValueConverter) and just passing in multiple converter values?

0 投票
1 回答
1069 浏览

wpf - WPF 压缩此 XAML,它将静态字符串分配给绑定

我想做的事情可能没有任何实际用途,但为了满足我的好奇心,我们可以将以下 XAML 中的第二个绑定压缩为 1 行

StaticResource One 给我“1”,而 MyConverter 只是连接它获得的所有值。我正在寻找的是某种以紧凑格式表达第二个绑定的方法,例如第一个绑定。

0 投票
1 回答
2275 浏览

wpf - 多绑定多选 ListView

好的,我这里有一个奇怪的。我想弄清楚的是如何让一个由 ObservableCollection 填充的列表视图,根据第一个列表视图的选择更新另一个由另一个 ObservableCollection 填充的 ListView,然后使用 valueconverter 根据组合的选择来选中或取消选中复选框与第二个列表视图中的当前项目。这部分我通过使用多重绑定有点工作,但让我难过的部分是当我检查或取消选中第二个列表视图中的项目时,我需要能够获取该事件以及该列表视图中所有当前检查的项目更新基于此的数据库字段。

我知道这可能没有多大意义,我正在努力使其更清晰,但下面是两个列表视图的 xaml 和转换器的代码。我可以看到,当我选中或取消选中 secodn 列表视图中的一个框时,转换器尝试执行 ConvertBack 方法,但如果我将它设置为仅返回 null 则代码不再崩溃,但复选框被突出显示红色,就像发生了验证错误。

我什至不确定多重绑定是去这里的方式,我已经查看了 Josh Smith 的多选列表视图的东西,但是由于需要转换,我也看不出如何成功实现它。

如果有人有任何想法,我将不胜感激。如果我没有很清楚地解释我的需求,我也很抱歉,但我希望通过混乱的描述和代码,你可以看到我要去哪里。

提前致谢!

第一个提供第二个的 ListView

带有转换器和多重绑定的第二个 ListView

值转换器

0 投票
1 回答
1687 浏览

wpf - 无法访问多值转换器中的数据上下文

我有一个用户控件,需要在其上设置特定的 DataContext。用户控件使用多值转换器。但是,multivalueconverter 中的绑定无法使用数据上下文。它适用于常规值转换器。有谁知道发生了什么?为了澄清,下面的代码与我的真实代码不同,它只是一个重现我的问题的示例。例如,我的多值转换器采用多个参数。

XAML:

后面的代码: