gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:34:40 25 4
gpt4 key购买 nike

看看这个!
Breaking!
我真的需要摆脱它!
看声明!

<ListView Name="list" BorderThickness="0">

我该如何解决?
这种差距不仅发生在滚动条上,它也发生在项目上,有或没有任何 View 。

最佳答案

看起来像 Template 中的问题,很可能是内部控件的一个属性,它未绑定(bind)到 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>

只需将 Border 的 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>

不要忘记将此模板添加到您的ListView!

关于c# - 摆脱 ListView 中的 1 像素填充/边框间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com