看看这个!
我真的需要摆脱这个!
看看这个繁殖!摆脱ListView中的1像素填充/边框间隙?
<ListView Name="list" BorderThickness="0">
我该如何解决?
这种差距不仅发生在滚动条上,它也发生在物品上,有或没有任何视图。
看看这个!
我真的需要摆脱这个!
看看这个繁殖!摆脱ListView中的1像素填充/边框间隙?
<ListView Name="list" BorderThickness="0">
我该如何解决?
这种差距不仅发生在滚动条上,它也发生在物品上,有或没有任何视图。
看起来像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>
只是改变边界的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
!
如果你有它,这将更容易在Blend中修复。如果不是有免费试用。您将不得不为您在该列表中使用的滚动查看器生成控件模板的副本。从那里你可以编辑ScrollBar的模板。
滚动条模板一旦达到它就会达到几个级别的模板。 ListView模板> ItemsPresenter(在这种情况下包装面板)模板> ScrollViewer模板> ScrollBar模板。
ScrollBar不是问题,它是整个ListView! ListView中有一个像素填充! – Vercas
边框可能在滚动条的周围;使用Snoop调查究竟应该设置哪个属性:http://blois.us/Snoop/ – dlev
不,不,边框也围绕项目!但无论如何,我会用Snoop尝试一两件事...... – Vercas
评论主要是赞成使用Snoop;它在进行WPF开发时非常宝贵。 – dlev