WPF - 如何默认数据绑定文本块的可见性?

emp*_*mpo 20 wpf visibility default textblock databound

下面定义的Textblock显示窗口首次加载时,因为它没有Datacontext(因此转换器代码没有运行),直到从另一个控件(例如TreeView)中选择了一个项目.

<TextBlock
   Name="tbkDocumentNotFound" 
   Style="{StaticResource StandardText}"
   Margin="4,4,2,0" 
   TextWrapping="Wrap"                                    
   Visibility="{Binding Path=IsDownloaded, Converter={StaticResource docNotFoundVisibilityConverter}, Mode=TwoWay}"
   Text="The document could not be found.">
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

那么当没有DataContext时如何阻止它出现呢?

谢谢.

Gra*_*meF 48

要提供默认值(无法找到绑定目标时使用),请使用FallbackValue,例如:

Visibility="{Binding Path=IsDownloaded, FallbackValue=Collapsed}"
Run Code Online (Sandbox Code Playgroud)

当没有DataContext时应该是这种情况.

  • 这让我省下了很多时间和精力,谢谢! (2认同)