摆脱ListView中的1像素填充/边框间隙?

Ver*_*cas 4 c# wpf xaml listview styles

看这个!
最新!
我真的需要摆脱这个!
看看蜕变!

<ListView Name="list" BorderThickness="0">
Run Code Online (Sandbox Code Playgroud)

我如何解决它?
这个差距不仅发生在滚动条上,也发生在项目上,有或没有任何视图.

H.B*_*.B. 8

貌似在一个问题Template,最有可能是未绑定到任何ListBox中暴露给你的属性的内部控制的财产.

由Vercas编辑:我发现了问题.
这是以下模板ListView:

<ControlTemplate x:Key="ListView" TargetType="ListBox">
    <Border Background="{TemplateBinding Control.Background}" BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="{TemplateBinding Control.BorderThickness}" Name="Bd" Padding="1" SnapsToDevicePixels="True">
        <ScrollViewer Focusable="False" Padding="{TemplateBinding Control.Padding}">
            <ItemsPresenter SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" />
        </ScrollViewer>
    </Border>
    <ControlTemplate.Triggers>
        <Trigger Property="UIElement.IsEnabled" Value="False">
            <Setter Property="Border.Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
        </Trigger>
        <Trigger Property="ItemsControl.IsGrouping" Value="True">
            <Setter Property="ScrollViewer.CanContentScroll" Value="False" />
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)

只需Padding将边框更改为0即可完成.
如果您不想打扰找到该属性,结果如下.

<ControlTemplate x:Key="ListView" TargetType="ListBox">
    <Border Background="{TemplateBinding Control.Background}" BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="{TemplateBinding Control.BorderThickness}" Name="Bd" Padding="0" SnapsToDevicePixels="True">
        <ScrollViewer Focusable="False" Padding="{TemplateBinding Control.Padding}">
            <ItemsPresenter SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" />
        </ScrollViewer>
    </Border>
    <ControlTemplate.Triggers>
        <Trigger Property="UIElement.IsEnabled" Value="False">
            <Setter Property="Border.Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
        </Trigger>
        <Trigger Property="ItemsControl.IsGrouping" Value="True">
            <Setter Property="ScrollViewer.CanContentScroll" Value="False" />
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)

别忘了将此模板添加到您的ListView!

  • @Vercas:你**不能**消除模板,总有*一些*模板. (2认同)