隐藏wpf listview的列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐藏wpf listview的列相关的知识,希望对你有一定的参考价值。

如何使列无法访问wpf listview? (一种方法是将宽度属性设置为最小长度,但这不是正确的解决方案)任何人都可以帮助我吗?

答案

here这样做的一种方法有一个非常简单的解释。

查找并删除您的列:

var temp = myGridView.Columns[0];
myGridView.Columns.RemoveAt(0);

在视图中插回列:

myGridView.Columns.Add(temp );
temp.Width = 0;
temp.Width = Double.NaN;

如果要隐藏它,请将其从列集合中删除,并在要再次显示该列时重新插入该列。

另一答案

要隐藏ListView的标头,可以通过在本地覆盖样式来修改ColumnHeaderContainer的Visibility属性。

<ListView>
<ListView.View>
    <GridView>
        <GridView.ColumnHeaderContainerStyle>
           <Style>
               <Setter Property="FrameworkElement.Visibility" Value="Collapsed"/>
           </Style>
        </GridView.ColumnHeaderContainerStyle>
        <GridView.Columns>
            ...
        </GridView.Columns>
    </GridView>
</ListView.View>

另一答案

我希望这会对某人有所帮助:

我发现的最好方法是做这两件事: 1.将列的宽度设置为0(这也可以在GridViewColumnHeader中完成) - 当您想要再次显示列时,在代码中更改它。 2.将GridViewColumnHeader的Visibility设置设置为Hidden - 如果要再次显示列,或者甚至可以使用绑定,请将其设置为代码。

上面的第二项有助于使列不可由用户扩展。

另一答案

要隐藏列,可以将列宽设置为零,并禁用标题,如下所示:

设置GridViewColumn Width并将GridViewColumnHeader IsEnabled设置为False。

例:

<GridViewColumn Width="{Binding ColumnWidth, Mode=OneWay}">
<GridViewColumnHeader Content="Nº Item" IsEnabled="False" />

以上是关于隐藏wpf listview的列的主要内容,如果未能解决你的问题,请参考以下文章

WPF中怎么在后台代码里面选中ListView的Items?

WPF-ListView隐藏表头样式

当 listview 行项目中包含隐藏视图时,片段不尊重匹配父高度

如何隐藏 WPF DataGrid 中的列标题?

WPF中ListView和DataGrid的区别?

WPF MVVM模式如何控制DataGrid的列隐藏和显示