【发布时间】:2012-07-14 09:55:31
【问题描述】:
我在WPF 中有一个TextBlock,并将这个TextBlock 的文本属性绑定到多依赖属性。
我想有条件地绑定这些依赖属性。换句话说,我想每次将一些依赖属性绑定到TextBlock 对象的文本属性。我该怎么办?
编辑1:
我的TextBlock 在下面。我通过调查绑定依赖属性的值来计算这个文本块的文本属性。并希望通过更改每个绑定依赖属性来刷新文本块的文本。一些绑定依赖属性可能是空值,我不想将此依赖属性绑定到我的文本属性。当我调试我的应用程序并且依赖属性为空时,Visual Studio 在输出窗口中引发警告。
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource OCDFLinkTextConverter}">
<Binding Path="TbOCDFLink" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.FromOCDFObjectItem.OCDFObject.XPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.FromOCDFObjectItem.OCDFObject.YPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.ToOCDFObjectItem.OCDFObject.XPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.ToOCDFObjectItem.OCDFObject.YPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.FromOCDFObjectItem.OCDFObject.ParentOCDFObject.XPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.FromOCDFObjectItem.OCDFObject.ParentOCDFObject.YPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.ToOCDFObjectItem.OCDFObject.ParentOCDFObject.XPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.ToOCDFObjectItem.OCDFObject.ParentOCDFObject.YPosition" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.TbOCDFLinkGroup.FromOCDFObjectItem" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
<Binding Path="TbOCDFLink.TbOCDFLinkGroup.ToOCDFObjectItem" RelativeSource="{RelativeSource AncestorType=ocdfcontrol:OCDFLink}"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
【问题讨论】:
-
你能详细说明一下你想绑定什么样的多依赖属性TextBlock的Text属性
-
@ethicallogics:请看我的编辑。
标签: wpf binding multibinding