【问题标题】:How do I remove the borders separating the headers in a Listview in XAML (WPF)?如何在 XAML (WPF) 的 Listview 中删除分隔标题的边框?
【发布时间】:2019-03-28 09:06:30
【问题描述】:

我正在制作一个从 Active Directory 加载用户的 ListView。为了完成我正在开发应用程序的公司的品牌/样式,我想调整 ListView 元素的一些样式。

我已经做到了,所以 Listview 中标题的边框是透明的。在 Visual Studio 的编辑器中,它看起来是我想要的样子,但是当我在运行时查看 ListView 中的标题时,我仍然可以看到分隔标题的边框(见下图)。 https://i.gyazo.com/99dc8d60d6c5b2e1761456df685d850f.png

我已经尝试过谷歌搜索,我什至去了谷歌搜索结果的第二页。你能想象吗?

下面是我在 XAML 文件中用于标题的样式

<Style x:Key="ListViewHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
    <Setter Property="Background" Value="Transparent"></Setter>
    <Setter Property="BorderBrush" Value="Transparent"></Setter>
    <Setter Property="IsHitTestVisible" Value="False"></Setter>
</Style>

我想要的是删除分隔我的 ListView 元素中标题的那些边框。

【问题讨论】:

    标签: c# wpf xaml listview


    【解决方案1】:

    您可以覆盖GridViewColumnHeader的模板

    <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>
      <ListView.View>
        <GridView ColumnHeaderContainerStyle="{StaticResource GridHeader}">
      </ListView.View>
    </ListView>
    

    解决方案在这里:Remove Separators in ListView Columns - WPF

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多