【问题标题】:Removing a WPF ListView's "classic" indented border删除 WPF ListView 的“经典”缩进边框
【发布时间】:2009-10-13 21:01:38
【问题描述】:

如何从我的 WPF ListView 控件周围删除“经典”缩进边框?将其BorderThickness 设置为 0 并不能消除它。

【问题讨论】:

    标签: wpf listview styles border


    【解决方案1】:

    不知道它是否是 WPF 的旧版本,但在 Visual Studio 2008 上,以下内容足以删除列表视图控件的所有边框和颜色

    <ListView Background="Transparent" BorderThickness="0">
    

    【讨论】:

    • 使用面向 .Net 4.5 的 Visual Studio 2013 测试
    【解决方案2】:

    对于很多内置的 WPF 控件样式,您需要重写 ControlTemplate 以获得对呈现的这种级别的控制。

    Here 是提供 ListView ControlTemplate 的 MSDN 页面,其中包含有关如何使用它的说明——基本上,您正在为 ListView 控件插入所有样式的本地副本,然后覆盖默认控件的外观和感觉。

    要消除缩进边框,您需要在控件模板中找到导致您要修改的行为的特定边框定义;其中有几个,但应该很容易通过反复试验和/或 Snoop 找出是哪一个导致缩进。

    【讨论】:

    • 已经是一个老帖子了,但最后这对我有帮助:Background="Transparent" BorderThickness="0" Padding="0" 将它设置为每个支持边框的预期控件。
    【解决方案3】:
    listview1.BorderStyle = BorderStyle.None
    

    【讨论】:

    • 也许是我的错,但我在 WPF 中没有为 ListView 找到这样的属性。
    猜你喜欢
    • 2010-11-14
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多