Tôi có một ListView mà đi một cái gì đó như thế này:Chế độ xem danh sách WPF có đường viền một pixel xung quanh bảng điều khiển bố cục bên trong. Làm sao để tôi bỏ nó đi?
<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>
Khi nó trống rỗng, Width và Height của bảng điều khiển tùy chỉnh tôi đã xác định là 15 x 15. Tôi có thể khẳng định đây là những khía cạnh thực tế trong thời gian chạy . Tuy nhiên, bản thân ListView có kích thước 17 x 17 (nghĩa là, một đường viền một pixel giữa bảng điều khiển và ListView).
Bắt đầu từ bảng điều khiển tùy chỉnh và đi bộ lên cây, tôi nhận được tổ tiên sau:
- ItemsPresenter: 15x15
- ScrollViewer: 15x15
- Lưới: 15x15
- ScrollViewer: 15x15
- Đường viền: 17x17
- Danh sáchXem: 17x17
Nếu tôi thay đổi Đệm trên ListView thành -1, nó sẽ loại bỏ đường viền nhưng gây ra một số vấn đề khác.
Tôi hy vọng tránh được việc xem xét toàn bộ ListView. Mọi thứ khác đều hoạt động tốt. Có cách nào tôi có thể loại bỏ biên giới một pixel này, có lẽ thông qua một phong cách?
Grrr .... ok. :( –
Tôi đã kết thúc bằng cách sử dụng ListBox thay vào đó, nhưng tôi sẽ cung cấp cho bạn dấu kiểm. Cạnh tranh khốc liệt về câu hỏi này ...;) –