隐藏wpf listview的列

时间:2009-05-05 07:47:39

标签: wpf listview

如何使列无法访问wpf listview? (一种方法是将width属性设置为最小lenth,但这不是正确的解决方案) 有谁可以帮助我?

4 个答案:

答案 0 :(得分:8)

有一种非常简单的解释方法here

查找并删除您的专栏:

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

将列插回视图中:

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

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

答案 1 :(得分:1)

要隐藏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>

答案 2 :(得分:0)

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

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

上面的第二项有助于使用户无法扩展列。

答案 3 :(得分:0)

要隐藏的列可以列的宽度设置为零,并禁用头,是这样的:

设置GridViewColumn宽度,并设置GridViewColumnHeader的IsEnabled为False。

示例:

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