C# 可见性的TargetNullValue为';s绑定到布尔值
我有一个C# 可见性的TargetNullValue为';s绑定到布尔值,c#,.net,wpf,xaml,visibility,C#,.net,Wpf,Xaml,Visibility,我有一个网格,其可见性属性使用转换器绑定到某个模型的布尔属性: <Grid Visibility="{Binding ElementName=MyTreeView, Path=SelectedItem.MyBoolProperty, Converter={StaticResource boolToVisConverter}}"> <!-- child elements --> </Grid> 当我的TreeView中的一个元素被选中时,它非常有效
网格
,其可见性
属性使用转换器绑定到某个模型的布尔属性
:
<Grid Visibility="{Binding ElementName=MyTreeView, Path=SelectedItem.MyBoolProperty, Converter={StaticResource boolToVisConverter}}">
<!-- child elements -->
</Grid>
当我的TreeView
中的一个元素被选中时,它非常有效,但是如果没有选择任何内容或者TreeView
为空,它默认为可见。我需要它在默认情况下隐藏。我尝试过使用TargetNullValue=Hidden
,但它不起作用。我想我只是不明白在这种情况下,TargetNullValue
属性应该如何工作
有人知道如何获得我想要的功能吗?我花了好几个小时试图弄明白这一点。当然,在我发布问题之后,我立即使用
网格的绑定属性上的FallbackValue=Hidden
使其正常工作,谢谢!这是一个救命稻草。我按照建议尝试了TargetNullValue和触发器,但它们不起作用。知道为什么这样做有效而其他解决方案无效吗?@Dave这是因为TargetNullValue仅适用于绑定目标属性(绑定路径中的最后一个元素)。因此,bool类型的target属性上的TargetNullValue绝对没有意义,因为bool无论如何都不能为null。