나는 이런 식 ListView가 있습니다WPF ListView는 내부 레이아웃 패널 주위에 한 픽셀 테두리가 있습니다. 어떻게 제거합니까?
<ListView
x:Name="SeriesListView"
SnapsToDevicePixels="True"
ItemsSource="{Binding Items}"
BorderBrush="Transparent" BorderThickness="0"
Padding="0" Margin="0"
VerticalContentAlignment="Top"
Background="Purple"
LostFocus="ListView_LostFocus"
>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<local:LDSeriesPanel
SnapsToDevicePixels="True"
MaxWidth="{Binding ElementName=itControl,Path=ActualWidth}"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
MinHeight="{x:Static local:LDSeriesPanel.MIN_HEIGHT}"
MinWidth="{x:Static local:LDSeriesPanel.MIN_WIDTH}"
Margin="0"
Background="Aquamarine"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
그것은 폭, 비어 내가 정의한 사용자 정의 패널의 높이 15 X 15 내가이 런타임에서의 실제 크기입니다 확인할 수있는 경우 . 그러나 ListView 자체의 크기는 17 x 17입니다. 즉, 패널과 ListView 사이에 한 픽셀 경계가 있습니다.
사용자 정의 패널에서 시작하고 트리를 걸어, 나는 다음과 같은 조상 얻을 :
- ItemsPresenter :의 15x15
- 에서 ScrollViewer :의 15x15
- 그리드 :의 15x15
- 에서 ScrollViewer를 :의 15x15
- 테두리 : 17x17
- ListView : 17x17
ListView의 채우기를 -1로 변경하면 테두리가 제거되지만 몇 가지 다른 문제가 발생합니다.
전체 ListView를 retempl하는 것을 피하려고합니다. 다른 모든 것은 잘 작동합니다. 스타일을 통해이 한 픽셀 경계를 제거 할 수있는 방법이 있습니까?
유감스럽게도 .... 확인을 클릭합니다. :( –
대신에 ListBox를 사용했지만 결국 체크 표시가 나타납니다.이 질문에서 경쟁은 치열했습니다 ...;) –