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

发布于 2024-08-11 13:30:16 字数 507 浏览 10 评论 0原文

下面定义的这个文本块显示窗口首次加载的时间,因为它没有数据上下文(因此转换器代码不会运行),直到从另一个控件(例如 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>

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

谢谢。

This Textblock, defined below, shows when the window first loads because it has no Datacontext (and hence the converter code is not run) until an item has been selected from another control e.g. 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>

So how do I stop the it from appearing when it has no DataContext?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉城已无爱 2024-08-18 13:30:16

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

Visibility="{Binding Path=IsDownloaded, FallbackValue=Collapsed}"

没有 DataContext 时应该是这种情况。

To provide a default value (used when the target of a Binding can't be found) you use the FallbackValue, for example:

Visibility="{Binding Path=IsDownloaded, FallbackValue=Collapsed}"

This should be the case when there is no DataContext.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文