从复选框中自动刷新ListView

时间:2017-10-23 14:30:21

标签: c# wpf

我有一个ListView,它绑定到一个简单的对象数组(主要是getter / setter)。它显示在主代码作为简单报告运行之后。最初,对话框只显示更改的项目。我有“显示所有详细信息”复选框,用户可以检查以查看所有项目。我在复选框和“ZeroChanged”属性上设置了MultiTriggger。问题似乎是当复选框改变状态时需要告诉ListView刷新,以便MultiTrigger然后调整Visibility Value =“Collapsed”动作。我开始认为我需要一些支持C#代码来处理复选框然后刷新ListView。对象数组不会改变,它是主程序的固定输出。复选框默认为false这是否可以只使用XAML?

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Style.Triggers>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding ElementName=_showAllDetailsChkBox}" Value="False" />
                    <Condition Binding="{Binding ZeroChanged}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Visibility" Value="Collapsed" />
            </MultiDataTrigger>
        </Style.Triggers>
    </Style>
</ListView.ItemContainerStyle>

1 个答案:

答案 0 :(得分:1)

如果绑定到IsChecked的{​​{1}}属性,则CheckBox的{​​{1}}属性应在您选中或取消选中{{1}后立即设置}}。您缺少绑定路径:

Visibility