WPF - 如何设置数据绑定的TextBlock控件的可见性默认值?

23

由于没有数据上下文(因此转换器代码不会运行),直到从其他控件(例如TreeView)选择了项目之前,下面定义的这个Textblock会在窗口首次加载时显示。

<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>

当没有数据上下文(DataContext)时,我该如何停止它的出现?

谢谢。

1个回答

55

要提供默认值(用于在找不到绑定目标时使用),可以使用FallbackValue,例如:

Visibility="{Binding Path=IsDownloaded, FallbackValue=Collapsed}"
当没有DataContext时,应该是这种情况。

1
谢谢GraemeF。虽然我需要指出,只需要指定成员名称,即Visibility="{Binding Path=IsDownloaded, FallbackValue=Collapsed}" - empo
2
这刚刚为我节省了很多时间和精力,谢谢! - Jimmy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接