C# 在DataContext为空时隐藏GroupBox控件
我有一个C# 在DataContext为空时隐藏GroupBox控件,c#,wpf,C#,Wpf,我有一个GroupBox,我在上面设置了不同阶段代码隐藏中的DataContext。我试图在其DataContext为空时隐藏此GroupBox。我看了这一点,但它可能不适用于这种情况。 我有一个成员布尔属性SelectedViewVisible,我试图在代码隐藏中的窗口中调用它,但当DataContext设置为null时,它似乎没有被调用 我正在中使用以下转换器,并使其在其他控件上成功工作,因此问题与此无关: <BooleanToVisibilityConverter x:Key="Bo
GroupBox
,我在上面设置了不同阶段代码隐藏中的DataContext
。我试图在其DataContext
为空时隐藏此GroupBox
。我看了这一点,但它可能不适用于这种情况。
我有一个成员布尔属性SelectedViewVisible
,我试图在代码隐藏中的窗口中调用它,但当DataContext
设置为null时,它似乎没有被调用
我正在
中使用以下转换器,并使其在其他控件上成功工作,因此问题与此无关:
<BooleanToVisibilityConverter x:Key="BoolToVis" />
没有路径
也不起作用:
Visibility="{Binding SelectedViewVisible, Converter={StaticResource BoolToVis}}"
可能我只是混淆了静态和成员绑定属性?使用回退值,如果绑定不产生值,则使用该值:
<GroupBox ...
Visibility="{Binding Path=SelectedViewVisible, Converter={StaticResource BoolToVis}, FallbackValue=Collapsed}">
使用回退值
,如果绑定未生成值,则使用该值:
<GroupBox ...
Visibility="{Binding Path=SelectedViewVisible, Converter={StaticResource BoolToVis}, FallbackValue=Collapsed}">
您可以使用DataTrigger
并检查DataContext的{x:Null}
值:
<GroupBox Header="Test">
<GroupBox.Style>
<Style TargetType="GroupBox">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</GroupBox.Style>
</GroupBox>
您可以使用DataTrigger
并检查DataContext的{x:Null}
值:
<GroupBox Header="Test">
<GroupBox.Style>
<Style TargetType="GroupBox">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</GroupBox.Style>
</GroupBox>