我有两个转换器,如果文本为空,则将控件可见性设置为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>
答案 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。