Удаление классической границы с отступом в WPF ListView

Как я могу удалить «классическую» границу с отступом вокруг моего элемента управления WPF ListView? Установка его BorderThickness в 0 не избавляет от него.


person M. Dudley    schedule 13.10.2009    source источник


Ответы (3)


Не знаю, является ли это прежней версией WPF, но в Visual Studio 2008 достаточно следующего, чтобы удалить все границы и цвета элемента управления списком.

<ListView Background="Transparent" BorderThickness="0">
person Nikos Tsokos    schedule 08.10.2010
comment
Протестировано с Visual Studio 2013 для .Net 4.5. - person Frank Liu; 30.07.2016

Для многих встроенных стилей элементов управления WPF вам необходимо переопределить ControlTemplate, чтобы получить этот уровень контроля над отрисовкой.

Вот страница MSDN, на которой представлен шаблон управления ListView с инструкциями о том, как использовать его - в основном вы вставляете локальные копии всех стилей для элемента управления ListView, которые затем переопределяют внешний вид элемента управления по умолчанию.

Чтобы избавиться от границы с отступом, вам нужно будет найти конкретное определение границы в шаблоне элемента управления, которое вызывает поведение, которое вы хотите изменить; их несколько, но должно быть достаточно легко выяснить, какой из них вызывает отступ, используя метод проб и ошибок и/или Снуп.

person Guy Starbuck    schedule 13.10.2009
comment
Уже старый пост, но, наконец, это помогло мне: Background="Transparent" BorderThickness="0" Padding="0" Установите его для каждого предполагаемого элемента управления, который поддерживает границу. - person Rolfi; 28.05.2014

person    schedule
comment
Может быть, это моя вина, но я не нашел такого свойства в WPF для ListView. - person Zéiksz; 20.05.2015