Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在DataContext为空时隐藏GroupBox控件_C#_Wpf - Fatal编程技术网

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>