<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue=DEFAULT}" />
我遗漏了这种语法有些棘手。提前谢谢。
答案 0 :(得分:7)
WPF中的绑定不会考虑 StringFormat ,而是在它失败的情况下回退到 FallbackValue 。
您可以使用建议的 leon 或使用 PriorityBinding 。
- 编辑 -
这应该有效:
<TextBlock DataContext="{Binding Fail, FallbackValue=DEFAULT}" Text="{Binding StringFormat=VALUE IS {0}}" />
答案 1 :(得分:1)
我认为它也可以使用TextBlock中的运行:
<TextBlock>
<Run Text="Value is : "/>
<Run Text="{Binding Fail,FallbackValue=Default}"/>
</TextBlock>
答案 2 :(得分:0)
默认回退值用于优先级绑定,如果您想为回退值显示“VALUE IS DEFAULT”,请尝试以下操作。
<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue='VALUE IS DEFAULT'}" />