wpf - 如果第一个属性是 "undefined",则绑定(bind)到第二个属性

标签 wpf xaml data-binding

我不会复制/粘贴整个 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/

相关文章:

c# - Win2D 获取语义标签值

c# - 在 XAML 中显示矩阵

c# - 如何绑定(bind)到所属窗口的控制属性(来自对话框窗口)?

wpf - 绑定(bind)到 DateTime.Now。更新值

wpf - 将按钮的可见性绑定(bind)到两个文本框内容的最简洁方法

c# - 禁用基于 DataGrid DataGridTextColumn 验证失败的按钮

Android DataBinding setVariable() 后跟 getVariable() 调用返回 null

data-binding - 由于templateShareable :true?导致SAPUI5错误消息的解决方法

c# - 如何在 subview 的ViewModel中引发ViewModel中的事件

wpf - 如何更改 AvalonEdit CodeCompletion 窗口上的样式?