DataBind控件到另一个控件

时间:2011-05-05 17:03:12

标签: c# wpf data-binding

我有两个转换器,如果文本为空,则将控件可见性设置为Hidden。另一个将int转换为字符串。我正试图在下面使用它们,如果tbDisposition.Text为null,我想隐藏DockPanel,但我的DockPanel绑定有点偏。

<DockPanel Visibility="{Binding Path=tbDisposition.Text, Converter={StaticResource cIsVisible}}">  
                    <TextBlock Text="Disposition: "/>
                    <TextBlock Name="tbDisposition" Text="{Binding Path=SessionEvent.DispositionID, Converter={BLL:CodeMarkupExtension}}" Foreground="Blue" />
</DockPanel>

2 个答案:

答案 0 :(得分:3)

您需要使用ElementName

<DockPanel Visibility="{Binding ElementName=tbDisposition, Path=Text, Converter={StaticResource cIsVisible}}">  
    <TextBlock Text="Disposition: "/>
    <TextBlock Name="tbDisposition" Text="{Binding Path=SessionEvent.DispositionID, Converter={BLL:CodeMarkupExtension}}" Foreground="Blue" />
</DockPanel>

答案 1 :(得分:0)

将对象绑定到Text属性时,会自动在该对象上调用ToString(),因此不需要“int to string”转换器。你可以改为改写ToString。