Wpf数据网格如何通过数据绑定隐藏整行

7

有没有可能通过数据绑定隐藏DataGrid行:
如果我有一个BO或ViewModel的项具有可见性属性,是否有可能声明一个绑定,以便在属性设置为不可见时隐藏行,反之亦然?


如果所有数据都已绑定,为什么不直接从支持集合中删除模型数据,使该行“隐藏”,然后重新添加模型数据以使其“可见”呢? - Aaron McIver
@Aaron:遗憾的是,我无法更改源集合的内容。 - HCL
1个回答

17

可以通过 RowStyle 实现。类似这样:

<DataGrid>
    <DataGrid.RowStyle>
        <Style TargetType="DataGridRow">
            <Setter Property="Visibility" Value="{Binding Visibility}" />
        </Style>
    </DataGrid.RowStyle>
</DataGrid>

1
我想补充一点,你的绑定属性必须输出字符串“Collapsed”才能使行折叠(而不是布尔值)。 - Johncl
有人能详细说明一下代码的另一面是什么吗?你如何在C#中切换可见性? - Charles Clayton
@crclayton Johnc清楚地解释了“绑定属性必须输出字符串'Collapsed'”。如果不清楚,“绑定属性”是Visibility - ProfK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接