gpt4 book ai didi

wpf - 将 StringFormat 和 Converter 绑定(bind)在一起

转载 作者:行者123 更新时间:2023-12-03 20:37:33 25 4
gpt4 key购买 nike

我从网络服务 (User.Avatar) 中获取用户的头像 url:

 /users/user_id/12?last_update=timestamp

在不同的控件中,我必须使用不同大小的头像(网络服务可以裁剪和调整图像大小):
 ImageSource="{Binding User.Avatar, StringFormat=http://myurl.com/\{0\}/crop/110x110, Converter={StaticResource ImageSizeUrlConverter}}"/>

转换器必须采取

http://myurl.com/users/user_id/12?last_update=timestamp/crop/110x110 (与 StringFormat )

并返回
http://myurl.com/users/user_id/12/crop/110x110?last_update=timestamp

但转换器带 /users/user_id/12?last_update=timestamp (没有 StringFormat )。

这是正常行为吗?

最佳答案

嗯,应该是这样的。您可以将任何值绑定(bind)到字符串依赖属性。转换器用于从该类型转换为目标类型。而且由于字符串格式化仅适用于字符串,因此在转换器之前进行操作是没有意义的,只能在后面进行。

这是一个例子:

{Binding SomeBoolValue,
StringFormat=You said \{0\},
Converter={StaticResource BoolToString}}

在哪里 BoolToStringtrue 返回"is"和“ false 否。
必须在将源类型转换为目标类型后进行格式化。

您可以将数据发送为 ConverterParameter ,但不能绑定(bind)到静态属性。您最好的解决方案是在此处创建一个附加属性来进行绑定(bind)和转换。

关于wpf - 将 StringFormat 和 Converter 绑定(bind)在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19175805/

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