gpt4 book ai didi

wpf - 指定 ImageSource 时 MultiBinding 与 Binding 的特殊行为

转载 作者:行者123 更新时间:2023-12-05 00:28:42 25 4
gpt4 key购买 nike

我在绑定(bind)到 Source 时遇到了一种特殊行为。 Image 的属性(property),使用转换器。

看来,如果我使用简单的 BindingIValueConverter返回与图像的相对路径相对应的字符串,一切正常并显示图像。

另一方面,如果我使用 MultiBindingIMultiValueConverter返回相同的字符串,绑定(bind)不起作用,并且此错误消息显示在 VS2010 输出窗口中:

System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='' MultiBindingExpression:target element is 'Image' (Name=''); target property is 'Source' (type 'ImageSource')



我发现要让它起作用,我不能返回一个简单的字符串(甚至不能返回 Uri )。相反,我必须在我的转换器中创建一个 ImageSource(实际上是 BitmapImage)并返回它。

你知道为什么会发生这种奇怪的行为吗?这是 Binding 之间的已知区别吗?和 MultiBinding ,或者它是一个错误?

我找到了 another stackoverflow topic这可能与此有关,Alvin 发表了关于绑定(bind)解决时间的评论:

I think that MultiBinding is made AFTER TextBlock rendering, and (single)Binding BEFORE TextBlok rendering – Avlin



为了说明这个问题,我写了一个小项目,你可以 download and test .

感谢您的任何见解!

最佳答案

我会假设这是设计使然,但要确保您需要询问其中一位开发人员,不同之处在于没有 type conversion应用于 MultiBindings 返回的值,人们经常在上面旅行。

关于wpf - 指定 ImageSource 时 MultiBinding 与 Binding 的特殊行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10128307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com