它是元素和元素的组合(BorderThickness
每个元素贡献 2px。从左到右 1px)。Padding
Border
你可以设置
<ListView BorderThickness="0">
和宽松的 2px,但Padding
至少在 Windows-8 上直接设置Border
在默认模板中的控件上,如果直接设置在ListView
从默认Style
中提取ListView
<ControlTemplate TargetType="{x:Type ListView}">
<Border x:Name="Bd"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="1"
SnapsToDevicePixels="true">
最简单的选项是提供一个自定义Style
,您可以将该Padding
值调整为 0。您还可以选择使用 Behavior 并获取对 Border 控件的引用并覆盖代码中的填充。
如果您选择代码隐藏选项来覆盖Padding
设置填充的非常粗略的方法,则可能如下:
public MainWindow()
{
InitializeComponent();
Loaded += (sender, args) => {
var border = (Border)lv.Template.FindName("Bd", lv);
border.Padding = new Thickness(0);
};
}
和你的xml:
<ListView x:Name="lv"
BorderThickness="0">