WPF 与 StringFormat 绑定

发布于 2024-11-04 16:41:32 字数 187 浏览 0 评论 0原文

谁能向我解释为什么这不会呈现“VALUE IS DEFAULT”?

<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue=DEFAULT}" />

我缺少的这个语法有一些棘手的地方。先感谢您。

Could anyone explain to me why this does not render "VALUE IS DEFAULT"?

<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue=DEFAULT}" />

There is something tricky about this syntax I am missing. Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

深海少女心 2024-11-11 16:41:32

WPF 中的绑定不考虑 StringFormat,同时在失败时回退到 FallbackValue

您可以使用leon的建议或使用PriorityBinding

--编辑--

这应该有效:

<TextBlock DataContext="{Binding Fail, FallbackValue=DEFAULT}" Text="{Binding StringFormat=VALUE IS {0}}" />

Binding in WPF does not consider StringFormat while falling back to FallbackValue in case it fails.

You can use what leon suggested or go with PriorityBinding.

--EDIT--

This should work:

<TextBlock DataContext="{Binding Fail, FallbackValue=DEFAULT}" Text="{Binding StringFormat=VALUE IS {0}}" />
旧城烟雨 2024-11-11 16:41:32

我认为它也可以使用 TextBlock 内的运行来工作:

     <TextBlock>
             <Run Text="Value is : "/>
             <Run Text="{Binding Fail,FallbackValue=Default}"/>
     </TextBlock>

I think it could also work using the runs inside the TextBlock :

     <TextBlock>
             <Run Text="Value is : "/>
             <Run Text="{Binding Fail,FallbackValue=Default}"/>
     </TextBlock>

?

只有影子陪我不离不弃 2024-11-11 16:41:32

默认后备值用于优先级绑定,如果您想显示“VALUE IS DEFAULT”作为后备值,请尝试以下操作。

<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue='VALUE IS DEFAULT'}" />

The default fallback value is used for priority bindings, if you'd like to display "VALUE IS DEFAULT" for a fallback value, try the following.

<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue='VALUE IS DEFAULT'}" />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文