[英]Get rid of a 1 pixel padding/border gap in a ListView?
看這個!
我真的需要擺脫這個!
看聲明!
<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 模板。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.