WPF mahapps按条件折叠datagrid行不起作用

问题描述

我需要在特定条件下隐藏行,这是通过样式触发器完成的。但是由于某些原因,如果您使用“地图”应用程序样式,则无法使用。如果我从字典中删除样式,则一切正常。我还需要做些什么才能使其与Mah应用程序样式一起使用?

 <DataGrid.ItemContainerStyle>
            <Style targettype="DataGridRow">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=IsArchive}" Value="True">
                        <Setter Property="Visibility" Value="Collapsed" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
 </DataGrid.ItemContainerStyle>

我也尝试使用baSEOn,但仍然无法正常工作

解决方法

设置RowStyle而不是ItemContainerStyle

<DataGrid.RowStyle>
    <Style TargetType="DataGridRow" BasedOn="{StaticResource MahApps.Styles.DataGridRow}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=IsArchive}" Value="True">
                <Setter Property="Visibility" Value="Collapsed" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</DataGrid.RowStyle>