wpf - 删除 ListView 列中的分隔符 - WPF

标签 wpf listview

我创建了下一个 ListView

 <ListView Height="Auto" MaxHeight="300" Margin="5,5,5,0" BorderBrush="Transparent"
                        ItemsSource="{Binding SelectedFolders}" BorderThickness="0" >      
                    <ListView.View>
                             <GridView>
                <GridViewColumn Header="Folder Name" Width="600">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                                 <TextBlock Text="{Binding FolderName}" FontSize="16" Foreground="Black" Margin="2,2" HorizontalAlignment="Left">
                                    <TextBlock.ToolTip>
                                        <TextBlock Text="{Binding FolderFullPath}"/>                        
                                    </TextBlock.ToolTip>                        
                                </TextBlock>                        
                        </DataTemplate>             
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>           

                <GridViewColumn Header="Size" Width="70">
                      <GridViewColumn.CellTemplate>
                        <DataTemplate>
                                 <TextBlock Text="{Binding FolderSize}" FontSize="16" Foreground="Black" Margin="2,2"  HorizontalAlignment="Left">
                                    <TextBlock.ToolTip>
                                        <TextBlock Text="{Binding FolderFullPath}"/>                        
                                    </TextBlock.ToolTip>                        
                                </TextBlock>                        
                        </DataTemplate>             
                    </GridViewColumn.CellTemplate>            
                </GridViewColumn>
            </GridView>                   
            </ListView.View>   
  </ListView>

我试图删除列分隔符但没有成功。 这是现在的样子:

ListView

在图片中您可以看到尺寸列线, 我怎样才能删除它们?

最佳答案

只需创建您自己的样式 GridViewColumnHeader...

这是一个简单的例子,除了一个 TextBlock 之外什么都没有(当然,没有垂直线):

<Window.Resources>
    <Style x:Key="GridHeader" TargetType="{x:Type GridViewColumnHeader}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
                    <TextBlock Text="{TemplateBinding Content}" Padding="5" Width="{TemplateBinding Width}" TextAlignment="Right" />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

</Window.Resources>

用法:

<ListView Height="Auto" MaxHeight="300" Margin="5,5,5,0" BorderBrush="Transparent"
          ItemsSource="{Binding ReferenceCollection}" BorderThickness="0">
        <ListView.View>
            <GridView ColumnHeaderContainerStyle="{StaticResource GridHeader}">
               ....

有关详细信息,请参阅 GridView Column Header Styles and Templates Overview

关于wpf - 删除 ListView 列中的分隔符 - WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14333486/

相关文章:

c# - 触摸滚动在 WPF 中不起作用

c# - 程序添加时找不到命名的 WPF 控件

c# - 如何获取 CollectionViewSource 的第一个元素?

c# - 如何从框架内的子页面调用父页面中的函数?

android - 卷轴上的底座适配器位置

c# - 我如何强制禁用元素的 wpf 窗口/控件刷新

android - 如何到达 ListView 的底部,加载更多项目

java - 运行 Android KitKat 代码在 Lollipop 设备上崩溃

C# ListView 搜索项目没有清晰的列表

c# - 在文本文件的每一行内的 ListView 中写入第一列和第二列行