隐藏ContentControl

时间:2009-06-26 19:47:13

标签: wpf visibility contentcontrol

下面是一段精美的艺术作品,代表一个WPF表单,左侧是列表框,右侧是内容控件。我想设置它,如果列表框为空,那么内容控件是不可见的。我应该挂钩什么属性/事件?

----- -----
| a | | c |
| b | |   |
----- -----

1 个答案:

答案 0 :(得分:3)

您应该为ContentControl创建一个Style,并使用Trigger确定List何时有0项,如下所示:

<ListBox x:Name="uiList">...</ListBox>
<ContentControl>
        <ContentControl.Content>
            <TextBox Text="List has items." />
        </ContentControl.Content>
        <ContentControl.Style>
            <Style TargetType="{x:Type ContentControl}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ElementName=uiList, Path=Items.Count}"
                                 Value="0">
                        <Setter Property="Visibility"
                                Value="Collapsed" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ContentControl.Style>
    </ContentControl>