我不会复制/粘贴整个 xaml 文件。解释它会太长,但有趣的是:我得到了属性“名称”的绑定(bind)
<TextBlock Text="{Binding Name}"/>
问题是,有时,我的项目没有“名称”属性。它不会崩溃,但我的 TextBlock 中只是有一个空文本
如果 Name 为空,我要做的就是绑定(bind)到“无”,只是 {Binding}。这将显示我的对象名称,这将是完美的!
提前感谢您的任何帮助,如果这是一个菜鸟问题,我们深表歉意:(
最佳答案
您想要的是 PriorityBinding .
特别是,它看起来像这样(确切的语法可能需要一些验证):
<TextBlock>
<TextBlock.Text>
<PriorityBinding>
<Binding Path="Name"/>
<Binding />
</PriorityBinding>
</TextBlock.Text>
</TextBlock>
请注意,当 Name 属性在所绑定(bind)的对象上不可用时,这会特别回退;如果 Name 属性有一个空字符串值,我相信它仍然会使用该空值。
关于wpf - 如果第一个属性是 "undefined",则绑定(bind)到第二个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8243652/